簡體   English   中英

生產者重試時分區中的Kafka消息排序

[英]Kafka message ordering in partition while producer retry

根據生產者配置,有: retriesmax.in.flight.requests.per.connection 假設重試> 0 和max.in.flight.requests.per.connection > 1。

消息是否可以在主題的一個分區內無序到達(例如,如果第一條消息重試,但第二條消息在第一次嘗試時傳遞給代理)?

還是僅在主題的多個分區中發生亂序,但保留分區內的順序?

如果將retries設置為大於0並將max.in.flight.requests.per.connection為大於1,則即使消息是針對同一分區的,消息也可能在代理上到達max.in.flight.requests.per.connection

如果例如將一條消息正確添加到Kafka日志中,並且在將響應發送回客戶端時發生錯誤,則您也可以重復。

從Kafka 0.11開始,您可以使用冪等生成器來解決這兩個問題。 參見http://kafka.apache.org/documentation/#semantics

根據最新的更新文檔,您最多可以有 5 個max.in.flight.requests.per.connection並且 Kafka 可以為此維護訂單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM