我可以使用 Azure 事件网格主题来传达微服务架构中的域事件吗?

Can I use Azure Event Grid topics to communicate domain events in a microservice architecture?

我很困惑。在比较 Microsoft Azure 提供的消息服务时,我们可以选择:

这个link给出了以下比较:

现在我想编写一个由多个组件组成的微服务应用程序。每个组件都应该将本地域事件传达给一个主题 (pub/sub)。这可以通过使用服务总线主题、RabbitMQ 主题等来实现。

除了编写 Azure 函数外,我无法确定是否可以在 java、consuming 事件网格主题中编写事件处理程序(最好以 spring 惯用的方式)。

Azure 事件网格是否“仅”用于将 Azure 服务连接在一起?我应该坚持使用服务总线主题来完成此类任务吗?感谢您的澄清。

Azure 事件网格 (AEG) 是一种 事件 Pub/Sub 模型,用于可靠地将事件兴趣 分发到目的地PUSH 方式的资源,换句话说,AEG 不需要托管 listener/receiver 来提取事件消息,因为 Azure 服务总线和 Azure 需要它事件中心。

可以找到有关事件目标处理程序的更多详细信息here。请注意,webhook 处理程序可以托管在任何地方。

在您的方案中,AEG 能够将事件消息推送到目标资源,例如 Azure 服务总线 queue/topic,然后像其他资源一样进行处理。