如何识别微服务之间的共享域事件(事件溯源)协定?



问题是我需要一种标准方法来序列化取消不同微服务之间的域事件(通过每个type eventunique identifier(,因此这些消息的协定类型必须与编程语言无关。

在微通道之间的events传递之间是否有任何通信协议或标准,以便用队列识别它们?最适合您的方式是什么?或者一些用于在net.Core上传达这些事件的标准框架?

我们将事件作为外部事件复制到其他服务中。我们还使用共享事件模型向每个人传达即将发生的更改。https://eventmodeling.org/posts/what-is-event-modeling/

这是发布者/订阅者模型/事件模式的情况。通常,组织可以定义自己的事件消息格式,每个发布者(在本例中为域,例如客户、订单、产品、付款等(都必须遵循该格式,然后订阅者应用/域将使用已发布的事件 [如果订阅]。

虽然有许多选项可用于实现这一点,例如RabitMQ,Azure Service Bus,Azure EventHUb和开源Kafka或用于Apache Kafka的Azure Event Hubs。您可能希望首先对齐发布/订阅以及哪种合同最适合您的组织(您可以随时发展(。

如果您感兴趣,请参阅 https://learn.microsoft.com/en-us/dotnet/architecture/microservices/multi-container-microservice-net-applications/integration-event-based-microservice-communications 以获取使用 RabitMQ 的一些示例。

最新更新