微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kafka如何处理乱序批次

如何解决Kafka如何处理乱序批次

Apache Kafka 允许通过允许 max.in.flight.requests.per.connection 来启用幂等生产者。根据 documentation,此设置保证每条消息只按顺序发送一次,并且比同步生产者具有更高的吞吐量(因为 enable.idempotence 最多可以为 5)。

在阅读更多文档后,我发现 Kafka 通过为每个批次分配唯一 ID 并跟踪最后确认的批次 ID 来实现消息排序。这使其能够有效地拒绝重复批次并检测任何无序错误。生产者还将重试以确保收到所有批次并将其置于有序状态。

我对 max.in.flight.requests.per.connection 关闭时代理的行为更感兴趣。例如,如果生产者分批发送 B1 和 B2,但代理按 B2 和 B1 的顺序接收,代理是否会拒绝 B2,并请求重试(如果生产者启用)?如果数据包通过不同的网络路径到达代理,这肯定会发生。我发现在重试和并行发送调用<template> <div v-for="infoItem in data" :key="infoItem.name"> // loop to create several buttons <Button icon="pi pi-eye" @click="clickHandler"> </Button> </div> <Popup v-if="popupTriggered" :TogglePopup="() => TogglePopup('buttonTriggerDetail')" > {{ data[currentActiveItem].control }} </Popup> </template> <script> import ... export default { data () { currentActiveItem: 0,popupTriggered: false },methods: { clickHandler (index) { this.popupTriggered = true this.currentActiveItem = index } } ... // other component data }; </script> > 1)的情况下,与订购失败相比,这种情况在网上讨论较少。我个人认为,如果关闭幂等性,排序会中断,因为代理不跟踪序列 ID。但我没有任何证据证明这一点。

如果这里有明显的错误,请随时纠正我的发现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?