我正在使用kafka-streams 2.0.1在Spring Boot 2.1.4上下文中。消费者ID具有以下模式(自动化的bei kafka-streams!?(:
<client.id>-StreamThread-<threadSequenceNumber>-<consumer|producer|restore-consumer> (source: StreamsConfig.java)
我发现的值: threadSequenceNumber
并非每次都在我的应用程序的启动时,因为我有两个由bean提供的流线程。我已经试图用@DependsOn
注释Bean的正确订单。
每次threadSequenceNumber
更改最后一个偏移时,丢失了。任何人都知道如何强制正确的订单?
您的观察是正确的。线程序列编号是由KAFKA流创建的。春季靴子无能为力。
请注意,此行为将在接下来的2.3版本中发生变化:https://issues.apache.org/jira/browse/kafka-8285
每次线程序列量更改最后一个偏移时,都会丢失。
为什么?基于application.id
。