自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

k_cnoize的博客

本博为平日工作学习的总结、笔记或翻译文章,欢迎交流学习

  • 博客(11)
  • 收藏
  • 关注

转载 使用 Multi-Paxos 协议的日志同步与恢复

原文 https://zhuanlan.zhihu.com/p/20417442?columnSlug=likai在 Basic-Paxos 协议中,所有成员的身份都是平等的,任何成员都可以提出日志持久化的提案,并且尝试在成员组中进行持久化。而在实际的工程应用中,往往需要一个成员在一段时间内保持唯一 Leader 的身份,来服务对数据的增删改操作,产生 redolog,并尝试在成员组中进行持久化。本

2017-02-20 22:35:17 1196

原创 TCP 连接建立断开协议

TCP三次握手 建立连接1)Client 将标志位 SYNC 置为 1,随机生成一个值 seq=J,并将该数据包发送给 Server,Client 进入 SYNC_SENT 状态,等待 Server 确认。 如果 Client 超时没有接收到 ACK,重发数据包。2)Server 收到数据包后由标志位 SYNC=1 知道 Client 请求建立连接,Server 将标志位 SYNC 和 ACK 都

2017-02-19 22:17:19 329

原创 消息通信机制

在不可靠的介质上实现可靠的信息交换。考虑由数据网络连接的两个进程 a 和 b,从一个进程向另一个进程传输消息。消息发出之后,可以在任意时间内接收,也可能在网络中丢失。网络控制过程(network control procedure,NCP)的使用增加了通信的可靠性,通过NCP,进程 a 和 b 访问网络。进程 a 给NCP A 一个信息单元 m 来初始化通信。NCP之间的交互作用(经过数据网络,DN

2017-02-19 19:11:33 2836

原创 分布式一致性算法--Basic Paxos

Proposer:提议发起者 Acceptor:提议批准者 Proposal ID:每个提议都有一个编号,编号越高优先级越高 Paxos Instance: Paxos 用来在多个节点之间对同一个值达成一致的过程 acceptedProposal:在一个 Paxos Instance内,已经接收过的提议 acceptedValue:在一个 Paxos Instance内,已经接收过的提议

2017-02-11 10:23:27 510

原创 Linux 原子操作实现

Futex

2017-02-10 19:14:27 2209

翻译 读写(Read-Write)锁实现

原文地址:http://locklessinc.com/articles/locks/ 原文太长,本文翻译其中后半部分 read-write 锁 前半部分Spinlock 锁见: http://blog.csdn.net/k_cnoize/article/details/54946030大部分情况下,使用一个数据结构时并不会对其进行修改。而是只需要一个区段的读取权限来完成工作。如果有多个

2017-02-09 15:39:58 732

翻译 SpinLock 锁实现

原文地址:http://locklessinc.com/articles/locks/ 翻译时与原文略有简化,并增加了一些注释方便理解大多数的并行编程都或多或少的要用到锁,锁可以提供互斥的访问来保证数据的一致性。没有锁的话,多线程并发很可能同时修改同一个数据结构。而无锁算法往往需要仔细复杂的设计,否则程序会进入未预期的状态导致系统崩溃。而无锁算法的设计非常困难,大部分的程序都会用到锁。

2017-02-09 12:41:30 3323

原创 副本集群可靠性

数据可靠性副本模式下,数据损坏指所有副本在同一时间同时损坏的场景。数据损坏的原因只考虑磁盘故障。机器故障时,如果与磁盘相关则已考虑,如果是网关,cpu 等其他原因,往往数据并没有真正丢失,所以在计算可靠性时不考虑机器故障的场景。磁盘故障模型单块磁盘损坏后,其上的所有的 oid 都不可用,对于单块磁盘,如果其在一年中发生故障,认为其故障的概率在所有时间点都是相等的,为均匀分布。一、单 Oid 可靠性双

2017-02-09 10:49:01 1098

原创 区间树作为范围锁的应用

在多线程访问数据对象时,往往需要加锁来保证互斥,而如果对整个对象加锁,则即使访问该对象不同区段的请求也不能并发,而基于区间树我们可以很方便的实现一个细颗粒度的区间锁。内核区间树说明: http://tomoyo.osdn.jp/cgi-bin/lxr/source/Documentation/rbtree.txt区间树(interval tree)是一种扩展的红黑树

2017-02-09 10:18:12 819

原创 无符号序列号溢出问题

在系统实现中,经常需要用到序列号来记录操作执行的顺序或者打印时间戳等。因为序列号等我们只取正值,所以一般都使用无符号数以表示更大的范围。虽然一般的32位或者64位无符号数表示的范围很大,甚至可以确保在系统的生命周期内都不会用完,但是作为一个健壮的系统还是需要考虑无符号数达到最大后,重新归零的溢出问题。此时有一个比较简单的转换可以用来规避该问题。在比较两个序列号的大小时,使用以下 bef

2017-02-07 11:26:31 1097

原创 副本集群可用性

一、集群可用性集群可用性(availability)指集群正常运行时间的百分比,业界用 N 个9 来量化可用性,最常说的就是类似“4个9(也就是99.99%)”的可用性。描述通俗叫法可用性级别年度停机时间基本可用性2个999%87.6小时较高可用性3个

2017-02-06 22:42:48 624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除