【问题标题】:Kafka standby replica clarity sought寻求 Kafka 备用副本清晰度
【发布时间】:2023-02-23 14:33:25
【问题描述】:

我正在澄清 Kafka 备用副本的工作原理!

鉴于这种情况;

一个 Kafka 流应用程序;

  • 从具有 10 个分区的源主题中读取
  • 写入具有 6 个分区的接收器主题。
  • rocksdb 会话状态变更日志
  • 托管在 docker 中,两个副本运行 num.standby.replicas 设置为 1

这个想法是,如果一个 pod 关闭,另一个 pod 将立即接管处理……至少我认为设置 num.standby.replicas 是这样做的。

我看到的是最初启动时,只有一个 pod 正在处理流量。这正是我所期望的,一个 pod 处理流量,而另一个 pod 只是在发生故障转移时保持状态。

但是,如果我重新启动 a pod,两个 pod 将开始平等地处理流量。

是否有任何在线信息可以阐明备用副本的工作原理?..或者这是预期的行为?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams standby


    【解决方案1】:

    您观察到的是设计使然。两个 pod 将完成 50% 的处理,备用任务被分配为“相反”。即,如果 pod A 托管活动任务 0_0,则对应的备用任务 0_0 将由 pod B 托管。

    因此,每当一个 pod 发生故障时,只有 50% 的任务被“迁移”,即,如果 pod A 发生故障,pod B 的所有备用节点将被“提升”为活动的,而 pod B 将不会进行所有处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      相关资源
      最近更新 更多