Kafka Consumer 和 Kafka Streams 之间有什么区别吗?
Is there any difference between KafkaConsumer and KafkaStreams?
我正在使用 Apache Kafka 0.8.2.1,计划升级我的应用程序以使用 Apache Kafka 1.0.0。
当我检查 Kafka Streams 时,我对 KafkaConsumer 和 KafkaStreams 之间的区别有一些疑问。
基本上,KafkaConsumer 必须使用轮询方法从代理消费。我可以在轮询时指定一些持续时间,每当我得到 ConsumerRecored 时,我都可以处理它以生成一些有用的信息。
另一方面,KafkaStream 无需指定任何轮询持续时间,只需调用 start() 方法即可。
我知道 KafkaConsumer 基本上习惯于 consume
从字面上看,从代理和 KafkaStreams 可以做各种事情,例如 Map-Reduce
或与数据库交互,甚至重新生成到其他卡夫卡或任何其他系统。
所以,这是我的问题。 KafkaConsumer 和 KafkaStream 基本上有什么区别吗(换句话说,当涉及到 apache kafka 库的级别时。)?
是的,Kafka Consumer 和 Kafka Streams 是有区别的。
Kafka Consumer 可用于接收端接收数据和处理以供以后计算(基于topic和partition)
Kafka Streams API 将已发布的内容实时存储和分发到各种应用程序和系统,供读者使用。
如您所说,它们提供不同的功能:
- KafkaStreams 允许对记录执行复杂的处理
- KafkaConsumer 允许从 Kafka 集群接收记录
KafkaStreams 在幕后使用常规的 KafkaConsumers 和 KafkaProducers 客户端来检索记录并将处理结果发送给代理。它为许多配置使用预定义值,但仍然公开大量客户端配置。
KafkaStreams 是使用 Kafka 客户端(消费者和生产者)的常规(尽管非常先进)Kafka 应用程序。它的 API 允许更高级别的应用程序专注于业务逻辑而不是 Kafka 细节。
作为 Apache Kafka 发行版的一部分,它使用最佳实践和技巧来充分利用 Kafka。
我正在使用 Apache Kafka 0.8.2.1,计划升级我的应用程序以使用 Apache Kafka 1.0.0。 当我检查 Kafka Streams 时,我对 KafkaConsumer 和 KafkaStreams 之间的区别有一些疑问。
基本上,KafkaConsumer 必须使用轮询方法从代理消费。我可以在轮询时指定一些持续时间,每当我得到 ConsumerRecored 时,我都可以处理它以生成一些有用的信息。 另一方面,KafkaStream 无需指定任何轮询持续时间,只需调用 start() 方法即可。
我知道 KafkaConsumer 基本上习惯于 consume
从字面上看,从代理和 KafkaStreams 可以做各种事情,例如 Map-Reduce
或与数据库交互,甚至重新生成到其他卡夫卡或任何其他系统。
所以,这是我的问题。 KafkaConsumer 和 KafkaStream 基本上有什么区别吗(换句话说,当涉及到 apache kafka 库的级别时。)?
是的,Kafka Consumer 和 Kafka Streams 是有区别的。
Kafka Consumer 可用于接收端接收数据和处理以供以后计算(基于topic和partition) Kafka Streams API 将已发布的内容实时存储和分发到各种应用程序和系统,供读者使用。
如您所说,它们提供不同的功能:
- KafkaStreams 允许对记录执行复杂的处理
- KafkaConsumer 允许从 Kafka 集群接收记录
KafkaStreams 在幕后使用常规的 KafkaConsumers 和 KafkaProducers 客户端来检索记录并将处理结果发送给代理。它为许多配置使用预定义值,但仍然公开大量客户端配置。
KafkaStreams 是使用 Kafka 客户端(消费者和生产者)的常规(尽管非常先进)Kafka 应用程序。它的 API 允许更高级别的应用程序专注于业务逻辑而不是 Kafka 细节。
作为 Apache Kafka 发行版的一部分,它使用最佳实践和技巧来充分利用 Kafka。