zoukankan      html  css  js  c++  java
  • kafka与zookeeper读写分析


    kafka的读写都通过leader完成,而zookeeper只有写要通过leader而读可以通过任意follower,我觉得造成这种差异的原因还是在于使用场景。

    kafka的设计目标是实现一个高吞吐的消息处理系统,其一个重要特性就是需要保证数据一致性和有序性。如果所有Replica都可以同时读写,那么在数据同步上的开销就比较大,而只有Leader一个进行读写,其他Replica只需要pull数据,这样可以比较有效的实现数据的一致性和有序性。

    zookeeper设计核心是提供分布式场景下协调服务和服务发现,若设计读写都通过Leader完成,那么整个集群的可伸缩性较差,没法在保证一致性的前提下,通过扩展多个follower来提高集群提供服务的能力。而如果设计为可以通过任意follower都提供读服务,那么就可以通过提供更多的follower满足client读取zookeeper中存储状态的能力。另外,只有Leader可以进行写,类似kafka一样,也是避免同步数据上的困难。

  • 相关阅读:
    fedora 安装open office
    git rebase(转)
    javascript typeof
    正则表达式入门
    XML格式
    zz 通用线程:Awk 实例,第 3部分
    ELF BIN HEX
    i2c总线(iic总线/ I square C)
    grep
    把Nginx注册成Windows 系统服务(转载)
  • 原文地址:https://www.cnblogs.com/wangleBlogs/p/9728708.html
Copyright © 2011-2022 走看看