发表于: 2017-07-03 21:37:41

1 1105


今天完成的事情:

今天看了zookeeper和redis。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,zookeeper的工作原理还是有些没有搞懂的。

我之前以为redis缓存机智都是自动存取,自动更新,自动删除。原来缓存的添加、删除都需要自己写代码来操作。


明天计划的事情:

继续看zookeeper的工作原理,争取看懂吧。

先做一个redis的简单工具,尝试将redis装到项目中。


遇到的问题:

zookeeper的server端有一个leader,是指的server端并不是完全相同的么?


收获:

zookeeper的设计目的:

1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。

2 .可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。

3 .实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。

4 .等待无关(wait-free):慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待。

5.原子性:更新只能成功或者失败,没有中间状态。

6 .顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。


Zookeeper中的角色主要有以下三类,

08171345_l5K3.jpg (559×275)


返回列表 返回列表
评论

    分享到