【发布时间】:2020-06-24 07:41:33
【问题描述】:
我有一些服务,例如Catalog Service、Customer Service、Recommendations Service、Order Taking Service 等等...,每个服务在Cassandra 数据库中都有自己的Keyspace。
我有两个问题:
1 - 对于服务中的更改:我应该首先将更改的事件(或记录)发布到Kafka,然后从同一服务中使用它以更新其数据库,还是我应该先更新其数据库并然后将记录发布到Kafka ?
2 - 如何选择要发布到Kafka 的更改,我是否应该将所有更新发布到Kafka,即使是那些对其他服务不感兴趣的更新,例如"attribute X updated to Y for product Z"?
【问题讨论】:
-
听起来您可能想尝试事件风暴(与 kafka 细节无关)。考虑系统中发生的事件,将它们组合成逻辑片段。不要从服务的角度来考虑,而是要考虑响应什么而发生的操作序列
标签: apache-kafka domain-driven-design event-driven-design