繁体   English   中英

Kafka Streams:从具有多个分区的主题中读取

[英]Kafka Streams: Reading from topic with multiple partitions

我有一个带有2个分区的源主题,并且正在使用相同的application.id但不同的接收器主题来启动2个kafka流应用程序。

1)这两个应用程序实例是否将从不同的分区接收数据?

2)如果其中一个应用程序被杀死,另一个实例会自动从两个实例中消耗吗?

3)如何证明上述情况?

Kafka Streams使用的是相同的使用者库,因此行为应与您描述的相符-如果您有2个应用程序,则每个应用程序都将从分配给它的分区中使用,如果一个应用程序被杀死,则alive将处理所有分区中的数据。 ..

通过运行应用程序来证明是可能的-例如,在最简单的情况下,只需为消耗的数据打印不同的前缀并提交键值即可,这样您就可以区分一条消息何时将一个分区发送到另一个分区...

1)这两个应用程序实例是否将从不同的分区接收数据?

是。

2)如果其中一个应用程序被杀死,另一个实例会自动从两个实例中消耗吗?

是。 (但是请记住,另一个实例现在可能会将输出数据发送到自己的实例,而不是原始实例的输出主题。)

3)如何证明上述情况?

您可以检查应用程序的日志(Kafka Streams会记录有关每个实例的主题/分区/流任务的信息),可以运行集成测试等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM