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

如何在Kafka中维护信息的有序性?

江智
2023-03-14

我在想,如果我们能以某种方式确保特定的生产者(具有特定的键值属性)在主题t1的特定分区p1中发布其消息,如果我们能确保消费者从相同的分区p1中获取消息。这将有助于我们的目的。

kafka-console-producer.sh帮助中,我看到如下内容:

--producer-property <producer_prop>      A mechanism to pass user-defined
                                           properties in the form key=value to
                                           the producer.
--producer.config <config file>          Producer config properties file. Note
                                           that [producer-property] takes
                                           precedence over this config.
--property <prop>                        A mechanism to pass user-defined
                                           properties in the form key=value to
                                           the message reader. This allows
                                           custom configuration for a user-
                                           defined message reader.

我们可以使用这个--property选项来控制生成器将写入的分区吗?

同样在高层消费者中,我们能控制它从哪个分区消费吗?如何将分区分配给使用者?

共有1个答案

终育
2023-03-14

Kafka只提供一个分区内消息的总顺序,而不提供主题中不同分区之间的消息的总顺序。

如果你有一个单分区的主题,那么排序是有保证的。如果你的消费者表现良好,你就不必担心。

假设您至少有Kafka0.9,每个使用者在代理注册时都分配了一个分区。如果您有一个带有两个分区和两个使用者的主题,那么每个主题将分配一个分区。此信息存储在ConsumerPartitionOwnershipInfo中,有关详细信息,请参阅设计文档。主题中的每个分区都被分配给使用者组中的一个成员。

 类似资料:
  • 我有一个业务需求,在积极主动的网站维护消息,我正计划使用Kafka为相同的。生产者将消息放入JMS/MQ,这些消息将由Kafka消费。那么当PRODUER在MQ/JMS中放置100万条消息的批处理消息时,是否可以在地理分布的主动-主动kafka集群中保持消息的顺序呢? (假设每个主题有一个分区和一个使用者) 提前致谢

  • 也不算问题吧,就是个讨论,你们通常会把自己的配置和后端请求域名这些东西写到哪里啊? 比如我有一些secret,用来做登录签名的,我不想让它轻易的被破解和查看又想放到配置里面,也就是config之中,这时候我应该如何配置它? 阅读了代码,但是没怎么看懂,最重要的是避免逆向工程破解

  • 问题内容: 我正在使用JSONObject来删除JSON字符串中不需要的certin属性: 它可以正常工作,但是问题是JSONObject是“名称/值对的无序集合”,我想保持String在通过JSONObject操作之前的原始顺序。 任何想法如何做到这一点? 问题答案: 你不能 这就是为什么我们称其 为名称/值对的无序集合 。 我不确定为什么需要这样做。但是,如果要订购,则必须使用json数组。

  • 127.0.0.1:26379> PSUBSCRIBE * 注意这是在sentinel上监控所有的频道信息,查看的是切换前后发生的消息。 还有一个__sentinel__:hello的频道,这个频道是在redis实例上的,用途是sentinel之间发现对方的,别无它用。在redis实例上可以通过monitor或者订阅此频道看到这个消息。

  • 本文向大家介绍维护SAP HANA的拓扑详细信息,包括了维护SAP HANA的拓扑详细信息的使用技巧和注意事项,需要的朋友参考一下 在SAP HANA系统体系结构中,名称服务器用于维护SAP HANA系统的拓扑。它详细介绍了有关系统格局的完整信息-分布式环境中的所有主机,活动组件以及在分布式系统环境中每个组件上运行的服务。 您可以检查环境中每个组件下每个服务的服务启动时间,使用的内存,使用的CPU

  • 我有一个网页,需要发送Kafka信息到一个主题。网络正在使用vuejs。我尝试使用npm“Kafka节点”和“Kafka”,它们在建立Kafka连接时都有错误。也许它们都是服务器端npm? 是否有任何js软件包支持网页扮演Kafka制作人的角色。我不想设置其他中间服务器(比如kafka http proxy)。我希望网页直接发送信息到主题。可行吗