Zenghui Bao's World

about life, programming, misc thoughts.

Paxos协议 学习小结

一直对Paxos协议比较感兴趣,之前对这个算法 有耳闻 但只是了解皮毛,最近在学Zookeeper,趁着这股新鲜劲,就花时间研究了下Zookeeper的选举算法实现,再重新学习了Paxos算法,这篇文章算是我的学习总结吧。

实现了一个Zookeeper C++客户端

最近学习了下开源的分布式协调系统zookeeper,在学习使用的过程中,感觉原生zookeeper c api比较难用、不方便,遂花时间实现了一个C++客户端,这篇文章主要记述实现过程中的一些思考。

Java初学感想

最近花了一个月时间学习了Java,看了一些书,熟悉了一些工具,写了一些代码,算入门了。由于之前一直做C/C++开发,在学习Java的时候总会不自觉地思考 与C++有什么异同,这篇文章算是我的思考笔记吧。

《解密腾讯海量服务之道》讲座笔记

一直对腾讯做产品的能力比较敬佩的,我们组做消息推送系统,而腾讯的信鸽就是我们学习的榜样。京东很多做产品的思想是跟腾讯学的,而京东很多同事也从腾讯过来的(京东合并了腾讯电商),耳濡目染学到很多东西。

前几天前腾讯的同事给我们分享了《解密腾讯海量服务之道》,讲了几个腾讯开发产品的经验原则,比较受益,遂总结下。

分布式存储 理论与实践 初探 (二)

数据分布

分布式存储系统需要将数据分布到多个节点,并在多个节点之间实现负载均衡。常见的数据分布的方式有两种:一种是哈希分布,如一致性哈希,典型的系统是Amazon Dynamo系统;另一种是顺序分布,即将表格上的数据按主键排序,并切分成多块数据,每个数据存到不同的节点中,典型的系统是Google Bigtable, Taobao Oceanbase。

[转] fflush与fsync的区别

转自: http://blog.xiaoheshang.info/?p=274

1 来源

fflush为C标准库函数, fsync为系统函数。

分布式存储 理论与实践 初探 (一)

硬件基础

分布式存储系统是运行在通用计算机硬件体系结构上的底层系统,熟悉各种硬件的性能,能帮助我们更好的调整架构,最大限度地发挥硬件的价值。

Amazon Dynamo 架构分析

Dynamo是Amazon开发的分布式键值存储系统,它采用去中心化、松散耦合,由数百个服务组成的面向服务架构,只提供简单的键/值(key/value)方式的数据访问接口,不支持复杂的查询。最初用于支持购物车应用、S3服务,Facebook对照其论文实现了一个开源的分布式数据库Cassandra。