Kafka流多示例设计的影响

kx7yvsdv  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(378)

问题:一个问题有多个示例意味着什么 org.apache.kafka.streams.KafkaStreams 在单个jvm中初始化(例如:内存、cpu使用率、并发性问题)?
背景:我试图提供一个bulkheading机制,这样如果流操作抛出异常,它就不会转换整个流 KafkaStreams 示例到 ERROR 州。我把申请分成了不同的部分 KafkaStreams 每个示例负责单独的任务(日志、外部web调用、db调用等)。
我找不到有关如何(1)恢复 KafkaStreams 示例 ERROR 说明或(2)设计一个应用程序,使用 KafkaStreams 或(3)证明或反驳我目前的做法。
如果我的方法违反了confluent或kafka的最佳实践文件,那么了解它也会很有帮助。
应用程序版本:kafka 1.0.0、kafka streams 1.0.0

pod7payv

pod7payv1#

如果 KafkaStreams 示例结束于 ERROR 州政府,你需要 close() 然后创建一个新示例,您可以开始替换旧示例。
运行多个 KafkaStreams 单个jvm中的示例:这基本上是可以的。注意,如果这些示例属于同一个应用程序,则需要使用不同的状态目录对它们进行配置,以便将两者相互隔离。否则,系统会自动将两个节点相互隔离。
对我来说,你的设计很有意义。但是请注意,它比 KafkaConsumer 以及 KafkaProducer 无法为您共享安装程序。

相关问题