【发布时间】:2020-01-28 11:06:04
【问题描述】:
我正在阅读微服务架构、事件驱动架构和事件溯源。 Azure 服务总线是消息代理还是事件存储?它是实现事件溯源的唯一方法吗?
【问题讨论】:
标签: azure azure-service-fabric azureservicebus
我正在阅读微服务架构、事件驱动架构和事件溯源。 Azure 服务总线是消息代理还是事件存储?它是实现事件溯源的唯一方法吗?
【问题讨论】:
标签: azure azure-service-fabric azureservicebus
在事件溯源方面,Eventhub 可用于存储事件。它使用 Blob 存储或数据湖作为事件存储。而服务总线也可以考虑,但有一些限制
【讨论】:
事件溯源上下文中的事件存储是正式的存储,您可以在其中存储发生在域中的所有域事件。 Azure 服务总线只是消息代理,用于保留事件/消息直到它们被处理。
当事件到达服务总线时,您需要处理该事件并将该事件保存在事件存储中。事件存储可以是 SQL/NoSQL 取决于您的情况,因此它可以是 SQL DB 或 CosmosDB。对于事件溯源,您需要保存所有发生的域事件及其版本号。事件是不可变的,然后您将重播这些事件以达到系统的当前状态。
您可以在此处阅读有关事件溯源的更多信息Event Sourcing
【讨论】: