【问题标题】:kafka as event store in event sourced systemkafka 作为事件源系统中的事件存储
【发布时间】:2014-11-21 12:32:16
【问题描述】:

这个问题类似于Using Kafka as a (CQRS) Eventstore. Good idea?,但更具体的实现。 当我有数千个事件“源”(DDD 中的聚合根)时,如何使用 kafka 作为事件存储?正如我在链接问题和其他一些地方所读到的,我会遇到每个来源的主题问题。如果我按类型将事件拆分为主题,则使用和存储会容易得多,但我需要访问特定源的事件流。如何使用 kafka 进行事件溯源?

【问题讨论】:

  • 您提到的基于实体实例的主题是行不通的,因为它会创建大量主题(至于 kafka 并非旨在处理)。唯一真正的可能性是基于类型的主题,但这会产生搜索仅与 1 个特定聚合实例相关的命令/事件的问题。您如何解决快速搜索事件(在基于类型的主题内)以重建实体实例的问题?

标签: cqrs apache-kafka event-sourcing


【解决方案1】:

将所有事件源发布到具有数据类型(thrift?)的单个主题,其中包含每个事件源的一些唯一标识符。然后为您感兴趣的每种事件类型创建消费者,并使用唯一的消费者组名称标识每个消费者。这样每个唯一的源消费者将在 zookeeper 中拥有自己的偏移值。每个人都阅读整个主题,但只输出(或处理)来自单个来源(或一组来源)的信息。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 2017-02-24
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    相关资源
    最近更新 更多