Apache kafka 如何在kafka streams应用程序中测试一次语义
我有一个Kafka Streams DSL应用程序,我们要求只处理一次,同样,我添加了配置Apache kafka 如何在kafka streams应用程序中测试一次语义,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我有一个Kafka Streams DSL应用程序,我们要求只处理一次,同样,我添加了配置 streamConfig.put(processing.gurantee, "exactly_once"); 我用的是卡夫卡2.7 我有两个问题 到底一次和一次测试有什么区别 如何测试此功能以确保我的邮件只处理一次 谢谢 精确一次测试版是对精确一次的改进。虽然justice\u once为每个流任务(子拓扑和输入分区的组合)使用事务生成器,但justice\u once\u beta
streamConfig.put(processing.gurantee, "exactly_once");
我用的是卡夫卡2.7
我有两个问题
谢谢
精确一次测试版
是对精确一次
的改进。虽然justice\u once
为每个流任务(子拓扑和输入分区的组合)使用事务生成器,但justice\u once\u beta
为Kafka Streams客户端的每个流线程使用事务生成器。
每个生产者都有单独的内存缓冲区、单独的线程和单独的网络连接,这可能会限制输入分区的数量(即任务数量)。大量生产商也可能会给代理带来更大的负载。因此,精确地\u once\u beta
具有更好的缩放特性。您可以在中找到更多详细信息
请注意,在Apache Kafka 3.0中,justice\u once
将被弃用,而justice\u once\u beta
将被重命名为justice\u once\u v2
。有关更多详细信息,请参阅
对于测试,您可以从Apache Kafka repo中的测试中获得灵感: