我可以为不同类型的更新创建名为update_i的主题,并使用user_id在Kafka MQ中对它们进行分区?我已经通过confluent.io通过这篇文章:https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/。另外,我知道我无法用动态数量的分区创建主题。这两个事实(卡夫卡分区的帖子和静态数量)。什么是交付机制的选择?卡夫卡用作新闻传递中的传递机制
0
A
回答
0
作为一个可能的解决方案,我建议创建多个分区,然后建立生产者使用以下规则
user_id mod <number_of_partitions>
这将让你保持特定的user_id消息为了选择分区。
然后,如果您需要让消费者只处理特定user_id的消息,则可以编写一个(低级别)消费者,它将读取特定分区并仅处理为特定客户发送的消息并忽略所有其他消息。
1
我可以为不同类型的更新创建名为update_i的主题,并使用Kafka MQ中的user_id对它们进行分区吗?
如果我理解正确,答案是肯定的。
你需要简而言之做什么:
主题配置:确定需要的分区你的主题(S)。通常,根据(1)输入数据的预期比例/容量(即缩放的写入侧)和/或(2)消耗用于处理的消息所需的并行性来确定分区的数量,缩放的一面。详情请参阅https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/。
给这些卡夫卡主题(也就是“卡夫卡制片人”一侧)写信息:在卡夫卡,信息是键值对。在你的情况下,你可以设置消息密钥为
user_id
。然后,当使用Kafka默认的“分区程序”时,同一个消息键(这里是:user_id
)的消息会自动发送到同一个分区 - 这是您想要实现的。
相关问题
- 1. 简单的卡夫卡消费者消息传递重复
- 2. 如何将记录从卡夫卡传递给方法?
- 3. 如何将参数传递给卡夫卡控制台消费者
- 4. 用卡夫卡实施传奇
- 5. 参数传递到摩卡
- 6. 斯卡拉传递变量
- 7. 通过AJAX传递信用卡信息
- 8. 卡夫卡分区和消费者群至少一次消息传递
- 9. 传递类之间的数组...卡住
- 10. 卡夫卡,新的存储
- 11. 卡夫卡定制消费者阅读传入记录
- 12. 斯卡拉传递函数作为参数传递给另一个函数
- 13. 卡夫卡的retention.ms没有被卡夫卡0.10.2强制执行?
- 14. 卡夫卡制作人消息流
- 15. 参数传递给在斯卡拉
- 16. 将值传递给选项卡片段
- 17. 在选项卡之间传递值
- 18. 传递参数在帕斯卡定义
- 19. 从资产传递PDF到SD卡
- 20. 传递序号[T]在斯卡拉
- 21. 斯卡拉匹配变量传递
- 22. Unit.js,摩卡example.js失败0传递
- 23. url参数传递机制
- 24. 阿卡流+阿卡的Http传递参数
- 25. 传递“控制”作为参数vs传递控制的ID
- 26. 参数传递机制中的R
- 27. 卡夫卡操作中的延迟
- 28. 斯卡拉/阿卡 - 通过行为堆栈传递消息?
- 29. 将数据从选项卡1传递到选项卡2
- 30. 如何将值传递给由chrome.tabs.create打开的新选项卡?
为什么要按用户标识进行分区?你想“订阅”还是仅处理来自某些用户而不是其他用户的消息?或者你正在考虑将user_id作为目标用户ID? –