Apache kafka 在Kafka生成器上启用幂等性会降低吞吐量吗
我在rest端点调用中使用启用了幂等性的kafka producer(不启用一次语义或事务)。我之所以启用它,是因为我不希望卡夫卡重试造成任何重复。我关注以下几点:Apache kafka 在Kafka生成器上启用幂等性会降低吞吐量吗,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,我在rest端点调用中使用启用了幂等性的kafka producer(不启用一次语义或事务)。我之所以启用它,是因为我不希望卡夫卡重试造成任何重复。我关注以下几点: 具有幂等性会减慢我的端点吗?(这个端点需要非常快) 我读过卡夫卡api文档,启用幂等将使重试无限(什么?) 如果我不在事务中使用幂等性,我真的需要它吗 “具有幂等性会降低我的端点速度吗?(此端点需要非常快)” 卡夫卡允许使用内部序列号以幂等方式生成消息。这是在代理端缓存和比较的,因此生成消息要花费更多的时间。此外,尽管您可以有多
- 具有幂等性会减慢我的端点吗?(这个端点需要非常快)
- 我读过卡夫卡api文档,启用幂等将使重试无限(什么?)
- 如果我不在事务中使用幂等性,我真的需要它吗
max.in.flight.requests.per.connection
小于或等于5,retries
大于0,acks
必须为“全部”。如果用户未明确设置这些值,将选择合适的值。如果设置了不兼容的值,将引发ConfigException。“
请记住,重试的默认值无论如何都是2147483647
(我认为这是无限的意思)。请随意将此值设置为较低的数字,但仍然大于0
关于幂等KafkaProducer的排序保证,即使有多个飞行中的请求,我已经写了一个答案
“如果我不在事务中使用幂等性,我真的需要它吗?”
我不知道您的需求是什么,但是在生产者端启用幂等性可以确保不会因为代理或生产者失败而创建副本
请记住,Kafka中的事务有两个方面,一个是生产者,另一个是消费者。如果使用事务,您还希望查看消费者配置
隔离。级别
作为补充,acks=使用幂等生产者自动设置的所有设置也可能会增加延迟。