卡夫卡主题-我应该增加还是减少?

时间:2019-01-10 19:08:27

标签: apache-kafka

我们是Kafka的新手,所以我正在寻找一些高级指导。我们有一个实体的数据(我们可以称其为“订单”),该数据实际上是许多不同的实体(我们可以将一个称为“小部件”,而将一个称为“ Gizmo”,但大约有20种不同的实体类型)

很显然,将订单视为一个主题是有益的,因为所有部分都与一个订单相关。但是从设计角度来看,将这些作为单独的主题(订单,小部件,Gizmos等)是否更有意义?

小部件和Gizmos之间没有直接的关联-将它们保持在一起的好处是诸如处理顺序之类的东西。建议或好的阅读资源将非常有帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

我建议最初将事件记录为单个原子消息,而不是将其分解为几个主题中的多个消息。最好以尽可能原始的形式准确记录您收到的事件。您以后总是可以使用流处理器拆分复合事件,但是如果过早地拆分原始事件,则很难重建原始事件。更好的是,您可以为初始事件赋予唯一的ID(例如UUID);这样,以后当您将原始事件分解为每个涉及到的实体的一个事件时,就可以将该ID向前携带,从而使每个事件的出处都可追溯。