zoukankan      html  css  js  c++  java
  • zookeeper没有保证强一致性的证据

    网络上有些人,非要说zookeeper是强一致,这个非常误导人,实际上zookeeper读写流程是不一样的。

    这里批判一下尚学堂的这个视频,一个培训机构出的视频,都搞错了,会误导很多人的。(做技术的一定要严谨)当然尚学堂也提供了很多优秀的视频,我也白嫖了不少。但是错误还是要指出来的。

    https://www.bilibili.com/video/BV1T5411N7n5?from=search&seid=5172813402562827196

    下图是我在视频下方评论区指出来视频中错误的地方

    关于zookeeper的读写流程,可以看这篇文章,写的非常好。连接如下:

    https://www.jianshu.com/p/5300f1f454e8

    下面是官网给出的zookeeper不是强一致性的证据。在如下连接中搜索ZooKeeper can serve older data,翻译过来就是zookeeper有可能提供旧数据。

    https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html

    理解zookeeper的读写流程,其实非常好理解zookeeper读取旧数据(脏数据的)原理。假设我们zookeeper集群是3个节点。

    上图中2个线程,一个线程往zookeeper server集群中写name=3,zookeeper的leader讲leader节点和follower1节点写成功了之后,直接返回给zookeeper client1说数据已经写成功了。

    这个时候zookeeper leader还没有来得及同步name=3到follower2,另外一个线程zookeeper client2来请求follower2,follower就返回了name为空给zookeeper client2.

  • 相关阅读:
    洛谷 P1022.计算器的改良
    洛谷 P1014.Cantor表
    洛谷 P1464.Function
    洛谷 P1426.小鱼会有危险吗
    洛谷 P2089.烤鸡
    洛谷 P1579.哥德巴赫猜想(升级版)
    洛谷 P1618.三连击(升级版)
    通过ES6写法去对Redux部分源码解读
    闲谈Hybrid
    浅谈React、Vue 部分异步
  • 原文地址:https://www.cnblogs.com/mkl34367803/p/14670720.html
Copyright © 2011-2022 走看看