我的Order
聚合根能够发出多个Event
,例如OrderCreated
,OrderPaid
,OrderCancelled
。将所有类型的订单事件存储到单个kafka主题中并将orderId
作为消息密钥(如建议的here)是否是一个好的设计?或者我应该为每个人创建一个sepparate主题吗?
拥有单一主题的专家是维持事件的顺序,但消费者需要在他们的结尾过滤一些事件。第二种方法的专家是消费者会更简单,因为他们可以订阅他们需要的确切主题,但构建Order
需要订阅多个主题,而他们不是来自正确序列的kafka,因为他们来自不同的主题。
谢谢
答案 0 :(得分:1)
我不确定是否有正确/错误的问题,不过这是我的两个便士'值得的:
希望对您的项目有所帮助和好看。