Apache ZooKeeper是由Apache Hadoop的子项目发展而来,于2010年11月正式成为了Apache的顶级项目。Zookeeper为分布式应用提供了高效且可靠的分布式协调服务、提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,Zookeeper并没有直接采用paxos算法,而是采用了一种被称为ZAB(Zookeeper Atomic Broadcast)的一致性协议。

Read More

原来,我认为“为什么会有引用计数这样的技术”是为了内存自动回收和节省内存,但是读完下面的几节后,内存自动回收是一个原因,但是节省内存并不是真正的原因,真正的原因是有些对象如果被复制在现实中是不合事实的。

Read More

在C++中要写一个正确的单例类实现其实也是有一定难度的,有很多过去在生产环境中被认为是正确的写法(特别是所谓的double-checked locking写法),都被发现存在潜在的bug。本文记录一下正确的C++单例实现,以备查阅。

Read More