当前位置: 首页 > 知识库问答 >
问题:

Kafka流多实例设计含义

王英彦
2023-03-14

问题:拥有org.apache.kafka.streams的多个实例意味着什么。KafkaStreams在单个JVM中类(例如:内存、CPU使用率、并发性问题)?

背景:我试图提供一种散装机制,以便如果流操作引发异常,它不会将整个KafkaStreams实例转换为错误状态。我将应用程序划分为不同的KafkaStreams实例,每个实例负责不同的任务(日志记录、外部web调用、db调用等)。

我还没有找到关于如何(1)从错误状态恢复KafkaStreams实例的文档,或者(2)使用KafkaStreams设计一个提供一些散装原则的应用程序,或者(3)证明或反驳我目前的方法。

如果我的方法违反了Confluent或Kafka记录的最佳实践,那么了解这一点也会有所帮助。

应用程序版本:Kafka 1.0.0,Kafka streams 1.0.0

共有1个答案

贺海
2023-03-14

如果KafkaStreams实例最终处于ERROR状态,您需要关闭()它并创建一个新实例,您可以开始替换旧实例。

对于在单个JVM中运行多个KafkaStreams实例:这基本上是可以的。请注意,如果这些实例属于同一个应用程序,您需要使用不同的状态目录将它们配置为相互隔离。否则,它们会自动相互隔离。

对我来说,你的设计是有意义的。不过请注意,它更需要资源,因为Kafka消费者KafkaProducer不能为您的设置共享。

 类似资料:
  • 我对流媒体有一个普遍的问题,但对于问题的范围,让我们限制自己使用Kafka Streams。让我们进一步缩小范围,将我们的问题局限于单词计数,或者可能是一般的计数。假设我有一个由某个键和一个值组成的流,键可以是一个字符串(假设我们可以有很多字符串,除了空字符串,由世界上的任何字符组成),值是一个整数,现在我们正在构建一个单词计数应用程序,如果词汇表中的单词总数是一万亿,我们不能将它们存储在本地缓存

  • 本文向大家介绍解释一些Kafka流实时用例。相关面试题,主要包含被问及解释一些Kafka流实时用例。时的应答技巧和注意事项,需要的朋友参考一下 答:《纽约时报》:该公司使用它来实时存储和分发已发布的内容到各种应用程序和系统,使其可供读者使用。基本上,它使用Apache Kafka和Kafka流。 Zalando:作为ESB(企业服务总线)作为欧洲领先的在线时尚零售商,Zalando使用Kafka。

  • 主要内容:前期回顾前期回顾 因此很重要:this.client.poll(pollTimeout, now); 在步骤二的ready()里面,建立连接之前需要做网络的初始化: 典型的NIO操作 再调用 selector.poll()

  • 有人可以通过添加到我已经编码的内容来帮助我设计解决方案吗?或者向我指出一个已经存在的模式来解决这个问题?

  • 主要内容:1.Kafka 的技术难点,2.Kafka 架构设计,3.Kafka的宏观架构设计,4.Kafka 的整体架构1.Kafka 的技术难点 Kafka 为实时日志流而生,要处理的并发和数据量非常大。可见,Kafka 本身就是一个高并发系统,它必然会遇到高并发场景下典型的三高挑战:高性能、高可用和高扩展。 为了简化实现的复杂度,Kafka 最终采用了很巧妙的消息模型:它将所有消息进行了持久化存储,让消费者自己各取所需,想取哪个消息,想什么时候取都行,只需要传递一个消息的 offset 进行

  • 主要内容:1.Kafka存储难度,2.Kafka 的存储选型分析,3.Kafka 的存储设计Kafka使用的是Logging(日志文件)这种很原始的方式来存储消息 对于存储设计有一些知识点: Append Only、Linear Scans、磁盘顺序写、页缓存、零拷贝、稀疏索引、二分查找等等。 Append Only Data Structures 的一些存储系统比如HBase, Cassandra, RocksDB 1.Kafka存储难度 Kafka 通过简化消息模型,将自己退化成了一