专栏名称: 聊聊架构
聊聊架构
目录
相关文章推荐
51好读  ›  专栏  ›  聊聊架构

Kafka真的不适用于Event Sourcing

聊聊架构  · 公众号  · 架构  · 2018-09-09 08:49

正文

请到「今天看啥」查看全文


下面是我的具体分析,你看看是否有道理,也欢迎你在留言区和我一起讨论交流。

加载当前状态

当服务收到一个要求事件溯源实体做出状态变更的命令时,我们首先需要重新创建这个对象的当前状态。我们从事件存储中加载这个实体之前所有的事件,将它们重新应用于这个对象上,然后得到对象的当前状态。

在 Kafka 中加载特定实体的事件并不容易。主题通常按照“订单”、“支付”或“通知”等实体类型进行分区,因此我们必须检查“订单”的所有事件,并根据 ID 来过滤它们,最后得到单个“订单”实体。虽然这样做是可行的,但并不实用。

一种替代方案是为每个实体创建一个主题,但如果这样,我们就会拥有数以千计的主题,而且最重要的是,下游的订阅服务需要自动发现为每个新实体创建的主题。所以,这样也不太实际。







请到「今天看啥」查看全文