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

Kafka的主题--我应该多一些还是少一些?

古彦
2023-03-14

我们是新的Kafka,所以我正在寻找一些高水平的指导。我们有一个实体(我们可以称之为“订单”)的数据,该实体本质上是许多不同的实体(我们可以将一个称为“小部件”,一个称为“小玩意”,但大约有20种不同的实体类型)。

显然,将订单作为一个单一的主题来思考是有好处的,因为所有的部分都与一个订单相关。但在设计上,将这些主题分开(订单、小部件、小发明等)是否更有意义?

小部件和小玩意之间没有直接的关联--将它们放在一起的好处是处理顺序等,建议或好的阅读资源将是非常有帮助的。谢谢!

共有1个答案

景昊焜
2023-03-14

我建议首先将事件记录为单个原子消息,而不要将其拆分为多个主题中的多个消息。最好是在你收到事件的时候准确地记录它们,以一种尽可能原始的形式记录它们。您总是可以在以后使用流处理器将复合事件拆分--但是如果过早地将其拆分,则很难重建原始事件。更好的是,您可以给初始事件一个唯一的ID(例如,UUID);这样,以后当您将原始事件拆分为涉及到的每个实体的一个事件时,您可以将该ID向前传递,从而使每个事件的出处可跟踪。

 类似资料:
  • 在构建Kafka Streams拓扑时,可以通过两种不同的方式对多个主题的读取进行建模: 读取具有相同源节点的所有主题。 选项1相对于选项2是否有相对优势,反之亦然?所有主题都包含相同类型的数据,并具有相同的数据处理逻辑。

  • 关于编译器(GCC)所做的优化,标准做法是什么?每个选项(-O、-O1、-O2、-O3、-Os、-s、-fexpensive-optimizations)有什么不同,我如何决定什么是最优的?

  • 问题内容: 我有一些副作用要应用,并且想知道如何组织它们: 一次性使用 或几个useEffects 在性能和体系结构上有什么更好的选择? 问题答案: 您需要遵循的模式取决于您的useCase。 首先 ,您可能遇到以下情况:在初始安装期间需要添加事件侦听器,并在卸载时对其进行清理,而在另一种情况下,则需要清理特定的侦听器并在prop更改时将其重新添加。在这种情况下,使用两个不同的useEffect更

  • 我正在学习Kafka,并试图为我最近的搜索应用程序创建一个主题。被推送到Kafka主题的数据被认为是一个很高的数字。 我的kafka集群有3个代理,并且已经为其他要求创建了主题。 现在,我应该为最近的搜索主题选择多少个分区?如果我没有明确提供分区号呢?选择分区号时需要考虑哪些事项?

  • 我有Kafka集群有3经纪人和一对夫妇的主题,每个有5分区。现在我想为分区设置复制因子。 我可以为kafka主题的分区设置的最大复制因子是什么?

  • 我见过,但对于我的(简单的)用例来说,它似乎有些过头了。 我也知道,但我不想仅仅为此编写和维护代码。 我的问题是:有没有一种方法可以用kafka原生工具实现这个主题调度,而不用自己写一个Kafka-Consumer/Producer?