根据制作人配置,有:重试和 max.in.flight.requests.per.connection 。假设重试> 0和 max.in.flight.requests.per.connection > 1。
邮件是否可以在 ONE 主题分区中无序传递(例如,如果第一条消息重试,但第一条消息在第一次尝试时传递给代理)?
或者乱序只发生在主题的几个分区上,但是在分区顺序内是否会保留?
答案 0 :(得分:4)
如果将retries
设置为大于0而max.in.flight.requests.per.connection
设置为大于1,那么即使这些消息属于同一分区,也可能无法在代理上到达。
例如,如果将消息正确添加到Kafka日志中,并且将响应发送回客户端时发生错误,您也可以使用重复项。
从Kafka 0.11开始,您可以使用Idempotent生产者来解决这两个问题。见http://kafka.apache.org/documentation/#semantics