[英]Kafka message ordering in partition while producer retry
根據生產者配置,有: retries和max.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.