摘要:
在zookeeper中所有的读操作getData(), getChildren() 和 exists() 可以有一个选项设置一个观察(watch)。一个观察是一个单次的触发器,当这个观察设置的数据发生变化的时候,客户就会接到一个通知。以下是几个比较重要的点: 单次的触发: 如果一个客户做了getData("/znode1", true),然后/znode1的数据被改变了或者删除了,该客户就会得到一个观察事件。如果/znode1的数据又被改变了,这个客户将不会再收到通知,除非它再次进行读操作,并设置一个新的观察。 发送到客户: Zookeeper提供了一致性保证:一个客户首先 阅读全文
摘要:
本文大部分翻译自: http://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html引言: Zookeeper主要为分布式程序提供一致性协调服务。Zookeeper数据模型: Zookeeper有一个分层的命名空间,很像一个分布式文件系统。与文件系统唯一的不同的是在系统中的每个节点可以包含数据和子节点。Znodes:en 在Zookeeper树中的每一个节点被称作为znode,znode维护了一个状态结构,其中包括数据变化的版本号,ccl变化,时间戳。每次数据改变之后,版本号就会增加。。每次客户更新数据的时候,也必须提供原数据的版 阅读全文
摘要:
转载自:http://blog.csdn.net/poechant/article/details/6675431参考:Java端的API:http://zookeeper.apache.org/doc/r3.3.4/api/index.html另外,zookeeper源码中的cli_mt源码提供了很好的例子,最后有问题必须参照这个文件。1. zookeeper初始化zhandle_t*zookeeper_init(constchar*host,watcher_fnfn,intrecv_timeout,constclientid_t*clientid,void*context,intflags 阅读全文
摘要:
本文转载自:http://blog.csdn.net/poechant/article/details/6650249zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg。其中各配置项的含义,解释如下:1.tickTime:CS通信心跳数Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。tickTime=20002.initLimit:LF初始通信时限集群中的follower服务器(F)与leader服务器(L)之间初始连接 阅读全文
摘要:
h2 database 是一个开源免费的Java SQL内存数据库。数据库分为嵌入式(Embedding)和Server模式。持续关注中... 阅读全文