当前位置: 首页 > 知识库问答 >
问题:

Kafka如何处理不同批次的订单?

向泽语
2023-03-14

在Kafka关于重试的记录中,它说:

允许在不设置最大值的情况下重试。航班请求。每连接到1可能会改变记录的顺序,因为如果两个批发送到单个分区,第一个失败并重试,但第二个成功,那么第二个批中的记录可能会首先出现。

根据该段,如果两个批被发送到同一个分区,Kafka可以提交第二批,而第一批失败<但这似乎与Kafka关于在同一分区内订购的保证背道而驰。因为通常情况下,如果一个批次失败,所有后续批次都应该失败,否则它如何保证订购?此外,Kafka如何保证生产商发出的批量订单与经纪人发出的订单相同。

所以我的问题是:kafka如何保证不同批次(同一分区)的排序,或者它只是不保证。

共有1个答案

郎玮
2023-03-14

Kafka是如何保证不同批次(同一分区)的订购,还是不保证。

它通过设置

  • retries=0

如果您将重试增加到大于0的数字,则配置max.in.flight.requests.per.connection生效,默认为5。动态请求意味着最多可以有5个生产者请求尚未被代理确认。

如文件中引用的段落所述,这可能意味着您的B1、B2、B3、B4、B5批次都可以并行发送。如果发送B3失败,您需要重试

 类似资料:
  • 假设我有两个经纪人。 我读到Kafka制作人创建的制作人线程等于经纪人的数量。在这种情况下,我将有两个内部线程。 假设我有5个主题,每秒只收到200条消息。Kafka如何进行批处理? 一批大小=30条消息。[topic1=5,topic2=10,topic3=3,topic4=10,topic5=2消息]这些是最重要的消息和相应的主题。 Kafka是如何执行批处理的?

  • 我正在使用spring-kafka“2.2.7.RELEASE”来创建一个批处理消费者,并且我正在尝试了解当我的记录处理时间超过 max.poll.interval.ms 时消费者重新平衡是如何工作的。 这是我的配置。 这是我的出厂设置。 我添加了自定义消费者监听器,如下所示。 现在我期望消费者群体能够重新平衡,因为处理时间超过 max.poll.interval.ms 但我没有看到任何这样的行为

  • 根据PayPal订单API作为文档,我们必须首先创建订单,然后从响应,我们必须复制批准网址并在浏览器中运行。这将打开PayPal页面。买方将批准请求。在此之后,应提出捕获请求。 发行详情 我有以下使用PayPal API创建订单的代码: 这段代码运行良好。这给了我4个URL,如下面的屏幕截图所示。 之后,我用rel=approve复制url。这个:https://www.sandbox.paypa

  • 前言 sender的run 调用done方法,并传入TimeoutException

  • 我的要求是为不同格式的文件(PSV和CSV)轮询两个不同的目录,并使用Spring批处理它。 我使用入站通道适配器轮询目录。但是,我无法找到一种方法来根据文件类型调用相应的阅读器及其标记器和字段映射器。 例如,如果它是psv-调用PSV阅读器,如果它是csv-调用CSVReader,CSV线路映射器 任何帮助都将不胜感激。 谢谢

  • 我正在开发一个仅支持iPhone的iOS 8应用程序。我想只支持iPhone 4S的纵向模式设备。 我有一个图形设计,它采用全屏内容。我使用自动布局来处理视图,并使其适用于所有屏幕。但是,我使用一个小资产来管理从iPhone4S工作的设计。当我在iPhone6S/6看到它时,内容非常小,大量额外的空间被浪费了。 当设备分辨率变大时,我想增加字体大小、图像大小。这个应用程序中有很多屏幕。 例如,我在