zookeeper

deploy standalone

conf目录下提供了配置的样例zoo_sample.cfg,要将zk运行起来,需要将其名称修改为zoo.cfg。

bin/zkServer.sh start zoo-3.cfg (默认去config目录下查找zoo-3.cfg配置)

./zkServer.sh start-foreground

bin/zkCli.sh -server 192.168.0.1:2181

bin/zkCli.sh -server 192.168.229.160:2181,192.168.229.161:2181,192.168.229.162:2181

more >>

redis-cluster

codis

http://www.cnblogs.com/xuanzhi201111/p/4425194.html

http://www.oschina.net/p/codis/

BSD协议

原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

Slaves能过接口其他slave的链接,除了可以接受同一个master下面slaves的链接以外,还可以接受同一个结构图中的其他slaves的链接。??????

一致性哈希算法: http://blog.csdn.net/sparkliang/article/details/5279393

Gossip协议

more >>

全局唯一id生成器

概述

参考文档:http://www.cnblogs.com/relucent/p/4955340.html

分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。
有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没有顺序ID生成机制,所以开发了这样一套全局唯一ID生成服务。

结构

snowflake的结构如下(每部分用-分开):
0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000

more >>