首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Kubernetes中托管的多个应用程序选择Kafka事务id?

如何为Kubernetes中托管的多个应用程序选择Kafka事务id?
EN

Stack Overflow用户
提问于 2019-07-24 17:06:09
回答 1查看 2.9K关注 0票数 2

我有一个经典的微服务架构。因此,有不同的应用程序。每个应用程序都可以有1..N实例。系统被部署到Kubernetes.,因此,我们有许多不同的PODs,它可以在任何时间启动和停止。

我想实现read-process-write模式,所以我需要Kafka事务。

要配置事务,我需要为每个Kafka生产者设置一些transaction id。(实际上,我需要transaction-id-prefix,因为我在我的应用程序中使用Spring,而Spring有这样的API)。在应用程序重新启动后,这些IDs必须相同。

那么,如何为Kubernetes中托管的几个应用程序选择Kafka事务id呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 21:29:49

如果消费者启动事务(读-处理-写),则同一应用程序的所有实例的事务id前缀必须相同(以便在重新平衡后僵尸隔离正常工作)。实际使用的事务id是<prefix><group>.<topic>.<partition>

如果你有多个应用程序,它们应该有唯一的前缀(尽管如果它们使用不同的主题,它们无论如何都是唯一的)。

对于仅生产者事务,前缀在每个实例中都必须是唯一的(以防止kafka隔离生产者)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57179169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档