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