- 博客(3)
- 收藏
- 关注
原创 ceph mon中的paxos应用
最近听到分布式系统中用paxos的地方不少,比如最近蚂蚁金服的oceanBase都提到使用了paxos,而笔者最近也在可以理解paxos和其工程使用,注意到ceph中的Mon组件也是用paxos来实现Mon集群的一致性,所以阅读和分析了其代码,但本文仅仅分析paxos类本身的代码,至于paxos持久化日志的底层实现,以及Mon上层的业务类如何使用paxos,这个是后续的工作。 最开始...
2018-03-30 12:30:29
1372
原创 paxos理解与演示
最近因为想深入分布式方面的理解,所以把paxos协议做了一些理解,查阅了一些文档,写了一个简单的验证代码。paxos解决什么问题? 一个集群,无论这个集群的目的是为了负载均衡,还是容错,都需要保证一致性,即保证集群的使用者使用这个集群中的任何一部分,都可以产生预期的相同的结果,所以具体来说就是数据,状态,流程等的一致性。怎么实现? 为了一致性,集群里面的这些节点...
2018-03-08 12:17:21
936
原创 volatile 与内存屏障
编译器和CPU执行过程中,可能会生成或者执行的机器码,可能和我们编写的代码的预期的逻辑不一样,可能会造成一些问题。单线程中,这样没有问题,因为编译器和CPU可以保证即使有调整,但是最后的结果是预期的。但在多线程的场景下,可能会有问题,本文只关注多线程修改和访问同一个公共变量的场景。#include <pthread.h> #include <unistd.h> #inclu...
2018-01-02 16:13:29
501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人