【问题标题】:How to make producer idempotence in kafka cluster among two DC?如何使两个DC之间的kafka集群中的生产者幂等?
【发布时间】:2021-12-18 02:13:49
【问题描述】:

我对分布在 2 个 DC 之间的 kafka 集群有不小的问题。我想同时拥有:1)kafka 生产者幂等性和 2)从 DC1 到 DC2 的异步复制。众所周知,kafka 生产者幂等性要求在其属性中启用 acks=all。这也需要 DC1 和 DC2 中所有代理的确认。

我的问题是:如何更改 kafka 集群架构以实现使用幂等生产者的能力和 DC1 和 DC2 中经纪人的高可用性?更喜欢 DC1 的经纪人。

【问题讨论】:

  • 一个普通的生产者应用程序无法跨集群做到这一点,但您是否研究过 MirrorMaker2 是如何实现这一点的?
  • 这不是生产者的工作——而是经纪人。
  • 我认为 DC1 和 DC2 是不同的集群,抱歉

标签: apache-kafka cluster-computing idempotent producer


【解决方案1】:

参数min.insync.replicas有助于解决问题。这意味着必须保存多少副本才能向生产者发送请求,即使配置了asks=all

link 1 link 2

【讨论】:

  • 这个设置本身不控制幂等性,只控制持久性
  • 如果我将此参数设置为等于brokers数量或更少,它有助于在更近的DC中实现幂等性,当然,生产者也需要普通的幂等设置。
猜你喜欢
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
  • 2020-06-04
  • 2018-05-10
  • 2018-02-10
  • 2016-04-11
相关资源
最近更新 更多