Azure事件网格与服务总线

时间:2020-07-22 08:38:12

标签: azureservicebus azure-eventgrid

可以说事件网格仅仅是服务总线的一个子集吗?我发现服务总线可以完成事件网格可以完成的所有工作。

1 个答案:

答案 0 :(得分:2)

可以说事件网格仅仅是服务总线的一个子集吗?

我不会尝试将这些服务等同起来。它们都处理消息,但目的却截然不同。以及使用方面的实施细节。

Azure Service Bus是企业消息传递产品。它涵盖了排队,发布/订阅,并具有多个基于计算的功能。接收是通过轮询(长时间轮询)完成的,通常,单个组织内部/内部访问名称空间。

Azure事件网格是一种通知服务。其唯一目的是启用事件生成器和订阅者之间的发布/订阅。它没有排队语义。消息传递是基于推送的,与Service Bus不同,只有少数基于计算的功能可用。该服务旨在允许多方通信,并且可以跨多个组织(已发布和/或订阅)。

我发现服务总线可以完成事件网格可以完成的所有工作。

看起来可能是这样,但不是完全一样。 Azure Service Bus和事件网格的限制和约束是完全不同的。例如,Azure Service Bus命名空间被限制在单个区域中。事件网格是全局的,没有这种约束。服务总线具有有限数量的连接来轮询消息,其中事件网格具有可推送消息的大量订户。当然,投放方式也有所不同(民意测验与推送调查),并且还有更多。

如果您需要组织内的发布/订阅,则可以使用Service Bus。一旦您需要将有关某些事件的通知推送到组织外部,这便是Event Grid的亮点。两者也可以混合。可以使用服务总线队列或用于均衡工作负载的主题将事件网格中的事件排队。