Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡上的有状态和无状态消费者_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Apache kafka 卡夫卡上的有状态和无状态消费者

Apache kafka 卡夫卡上的有状态和无状态消费者,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,在卡夫卡上,消费者可以是有状态的,也可以是无状态的,这两种消费者之间有什么不同?为什么有状态的使用者在分配新分区时应该重建状态?卡夫卡使用者本身只是轮询来自卡夫卡主题的数据,它不能是有状态的,也不能是无状态的。但是,您可以有一个有状态或无状态的应用程序。下面是一些简单的例子 无状态:使用消息并将其放入外部存储器 有状态:使用消息、定义窗口(=时间间隔)并计算每种标识符的消息数 在有状态(KafkaStreams)应用程序中,实际状态存储在内部状态存储中,如RocksDB。如果发生了重新平衡(

在卡夫卡上,消费者可以是有状态的,也可以是无状态的,这两种消费者之间有什么不同?为什么有状态的使用者在分配新分区时应该重建状态?

卡夫卡使用者本身只是轮询来自卡夫卡主题的数据,它不能是有状态的,也不能是无状态的。但是,您可以有一个有状态或无状态的应用程序。下面是一些简单的例子

  • 无状态:使用消息并将其放入外部存储器
  • 有状态:使用消息、定义窗口(=时间间隔)并计算每种标识符的消息数
在有状态(KafkaStreams)应用程序中,实际状态存储在内部状态存储中,如RocksDB。如果发生了重新平衡(或分配了新的分区),则必须首先构建该内部状态存储,使其与状态“最新”,然后才能再次实际有状态

网络上有很多好的材料,比如