为什么zookeeper的watch是先通知、再更新?

Kuring_K 2016-07-25 03:09:57
最近在看zk,但是有些问题:
1、zk,是cap中的那一类?
2、在znode上注册watch后,在触发该watch后,为什么要先通知、后更新呢?
通知后,是马上更新,还是等待完成触发的process操作再更新呢?
如果是先通知,有可能在通知的过程中,数据再次发生修改,则通知后,触发的数据读取到的结果不是触发时的结果,会造成的数据不一致。
...全文
3455 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
小白的问题总是由小白回答的,高手不会接触到这些问题,有些是看不到,有些则是不想回答,就像我们,也不会去回答递归是怎么实现,java有几个数据类型一样。心理上感觉这么简单的问题,百度以下就有了,亦或者是不屑吧,大环境如此。同期的问题大概只有同期先明白的人遇上会认真回答一下吧,很现实的事,大环境如此
摩西云 2017-10-23
  • 打赏
  • 举报
回复
人总是站在自己的角度看问题,如果自己从事一个行业很久,问的又是自己研究很久的问题,别人谁能回答呢,不如你尝试下其他行业,比如服务器网站技术
Kuring_K 2017-10-23
  • 打赏
  • 举报
回复
突然有一天,发现自己问的都是自己会的。 居然没人能解答这个问题,伤心了,在这里不会再提问题了。 回答:因为zk遵循zab协议,所以不会出现对单个叶子节点的操作出现不一致性,所以是否先通知或执行,都是不影响单次操作的。 先通知是作为listener功能实现,唯一的不好的地方是:process过程中如果中断,是如何保证数据一致性的呢?会有log日志记录么?还是这种概率很小。 鬼知道我说的都是什么? 好吧,因为zk通过quorum模式,是强一致性操作。至于什么是强一致性操作,自己查去吧。伤心~~~~~
Kuring_K 2017-10-23
  • 打赏
  • 举报
回复
有点激动了,因为这个帖子是一年前发的,如果不是csdn让结贴,我都忘了有这个帖子。 有些事实是需要说明的,这个问题是我当年随意想的,没经过大脑思考,其实问题在答案再朴实不过。 其次,我觉得这个问答平台适用于初级、热门主题的问题,对于“冷门”问题,少受关注。 我相信csdn不缺少专家解答,但是也暴露了平台核心的问题,不够智能,就这样结了吧。

778

社区成员

发帖
与我相关
我的任务
社区描述
云计算 网络相关讨论
社区管理员
  • 网络
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧