【问题标题】:Understanding Kafka Leader-follower architecture了解 Kafka 领导者-跟随者架构
【发布时间】:2021-12-09 16:00:50
【问题描述】:

Kafka 具有领导者-跟随者架构。例如,我们有一个包含 3 个实例(K1、K2、K3)的 Kafka 集群,其中 K1 是领导者,K2、K3 是追随者。 Follower的目标是从Leader那里复制更新后的日志,而Leader是可以写入日志的人。

  1. 如果领导者是唯一可以读取或写入日志的代理,这不会在领导者中造成瓶颈吗?

  2. 如果我们有生产者和消费者实例,如果生产者错误地向跟随者发送数据会发生什么?追随者会忽略它,还是将数据转发给经销商?这种情况可能吗?

  3. 如果消费者试图从关注者那里读取数据会发生什么?

  4. 是否有任何文档说明失败的代理重新启动时的消息交换?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    所有代理都可以读取/写入自己的日志。每个分区有一个领导者,而不是每个主题。显然,每台机器都有一个瓶颈,但这与任何其他服务器的最大 I/O 和网络速率没有什么不同;这不是 Kafka 独有的问题

    在健康的条件下。副本不可能错误地从生产者那里获取数据。如果存在网络分区或者您的领导者选举不干净,那么新选出的领导者分区最终会“获胜”并覆盖其他分区

    最新版本的 Kafka 允许使用同步副本

    Kafka是开源的,所以你可以按照服务器的main方法,查看它启动和重启的所有线程

    【讨论】:

      猜你喜欢
      • 2021-11-08
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 2017-04-02
      • 2020-07-26
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      相关资源
      最近更新 更多