【问题标题】:Is Azure service bus a message broker and also an event store?Azure 服务总线是消息代理还是事件存储?
【发布时间】:2020-01-28 11:06:04
【问题描述】:

我正在阅读微服务架构、事件驱动架构和事件溯源。 Azure 服务总线是消息代理还是事件存储?它是实现事件溯源的唯一方法吗?

【问题讨论】:

    标签: azure azure-service-fabric azureservicebus


    【解决方案1】:

    在事件溯源方面,Eventhub 可用于存储事件。它使用 Blob 存储或数据湖作为事件存储。而服务总线也可以考虑,但有一些限制

    【讨论】:

    • 这是实现事件溯源的唯一方法吗?
    • 嗯,你有不同的选择,但这是最推荐的方式。您还可以使用 cosmosdb 查看 changefeed
    【解决方案2】:

    事件溯源上下文中的事件存储是正式的存储,您可以在其中存储发生在域中的所有域事件。 Azure 服务总线只是消息代理,用于保留事件/消息直到它们被处理。

    当事件到达服务总线时,您需要处理该事件并将该事件保存在事件存储中。事件存储可以是 SQL/NoSQL 取决于您的情况,因此它可以是 SQL DB 或 CosmosDB。对于事件溯源,您需要保存所有发生的域事件及其版本号。事件是不可变的,然后您将重播这些事件以达到系统的当前状态。

    您可以在此处阅读有关事件溯源的更多信息Event Sourcing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-05
      • 2011-09-22
      • 1970-01-01
      • 2022-01-05
      • 2020-07-20
      • 2017-11-01
      • 2014-05-16
      相关资源
      最近更新 更多