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

k2fxgqgv  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(462)

我有一个带有2个分区的源主题,我正在用相同的application.id启动2个kafka streams应用程序,但接收主题不同。
1) 这两个应用程序示例是否从不同的分区接收数据?
2) 如果其中一个应用程序被终止,另一个示例是否会自动从这两个示例中使用?
3) 我如何证明上述情况?

disho6za

disho6za1#

kafka streams使用相同的使用者库,因此行为应该与您描述的相匹配—如果您有两个应用程序,则每个应用程序都将使用分配给它的分区,如果一个应用程序被终止,则活动应用程序将处理来自所有分区的数据。。。
例如,可以通过运行应用程序来证明这一点—在最简单的情况下,只需为消耗的数据打印不同的前缀,并提交键控值,这样您就可以区分一条消息何时发送到一个分区,何时发送到另一个分区。。。

bxgwgixi

bxgwgixi2#

1) 这两个应用程序示例是否从不同的分区接收数据?
对。
2) 如果其中一个应用程序被终止,另一个示例是否会自动从这两个示例中使用?
是的(但请记住,另一个示例现在可能会将输出数据发送到自己的示例,而不是原始示例的输出主题。)
3) 我如何证明上述情况?
您可以检查应用程序的日志(kafka streams将记录关于每个示例的主题/分区/流任务的信息),您可以运行集成测试等。

相关问题