Azure Web PubSub和Event Grid/Event Hub有什么区别?

5

我认为Azure Web PubSub是在WebSockets基础上结合了事件网格(Event Grid)和事件中心(Event Hub)的技术,不同于HTTP。但是,我并不能100%确定,并且也找不到任何直接比较这三种服务的文章。


不太确定,但我认为Azure Web Pub/Sub基于WebSockets,并允许关于发生事件的实时通信(推模型)。Event Grid更像MQTT,其中消费者定期检查是否有任何新的可用事件(拉模型)。 - Oliver
如果发布的答案有帮助,您可以通过点击复选框将其标记为答案。这样做可以帮助其他社区成员。 - SauravDas-MT
@SauravDas-MT感谢您的回答。我对您的帖子有一个后续问题。 - TDao
1个回答

8
回答您的问题,让我逐一解释这三项服务。
Azure事件网格
Azure事件网格是一个完整的事件路由服务,正在Azure Service Fabric之上主动运行。它从各种服务(如Azure存储Blob)向不同的处理程序(如Azure功能)发出事件。它是基于事件驱动的发布-订阅模型(响应式编程)。
Azure事件网格可以连接到您创建的任何应用程序,并且由应用程序生成的事件可以被拉取并发布到不同的其他目的地。

Eventgrid

Azure事件中心

Azure事件中心是一种数据摄取服务,可以从任何来源流式传输大量消息,以对业务挑战做出即时响应。它每秒可以从任何来源流式传输数百万个事件,构建动态数据管道,并立即响应业务挑战。可以将其视为多源大数据流水线(遥测数据)。

它们之间的区别在于,事件中心仅接受用于摄取数据的终结点,并且它们不提供将数据发送回发布者的机制。另一方面,事件网格发送HTTP请求以通知发生在发布者中的事件

Azure Web PubSub

PubSub是发布订阅的缩写。如果您以前使用过Azure SignalR或WebSockets在发布者和订阅者之间发送内容,则Web PubSub也可以实现此功能。因此,Azure Web PubSub是一种处理应用程序实时通信的托管服务。

当您使用WebSockets时,客户端和应用程序服务器之间存在长时间运行的连接,但由于处理长时间运行的请求而变得棘手。这个问题通过Web PubSub服务得到解决,它位于客户端和应用程序服务器之间。现在,您的客户端可以与此服务器通信,并且您可以在Azure Web PubSub服务和应用程序服务器之间执行http。因此,您的应用程序服务器仍然只使用http,但所有复杂的WebSocket逻辑都由该服务为您处理。
Azure Web PubSub服务建立在与SignalR相同的核心基础平台上,但这两者之间的主要区别在于Azure Web PubSub是纯粹的无服务器服务,而在SignalR中,您需要使用SignalR客户端,但是在Web PubSub中,您可以使用任何客户端和任何语言。

Webpubsub

最后,我建议您阅读这些文档了解更多信息:在 Azure 通信服务之间进行选择Azure Web PubSub

Event Grid不能像Web PubSub那样将事件发送回客户端吗?在我看来,Event Grid和Web PubSub都在执行发布-订阅模式,并实时传递事件。此外,如果Event Hub只是用于遥测消化,那么它与Application Insights有何不同? - TDao
2
@TDao Event Grid似乎是用于Azure服务之间的发布/订阅。但连接桌面或移动应用程序到Event Grid有点困难...您可以将事件发送到Web钩子,这就是全部。但对于像桌面/移动应用程序这样的移动目标,它们并不适用。Azure Web PubSub旨在用于Azure外部客户端之间的发布/订阅。 - stmax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接