将用于微服务的 SignalR 与 API 网关集成

Juo*_*vid 4 architecture signalr microservices asp.net-core-signalr

我正在设计一个基于 .Net 核心的微服务系统。架构系统将如下图所示。

在此处输入图片说明

问题是:我在 Microsoft 的网站上阅读了有关 SignalR 的通知,需要集成 SignalR(实时)以获取通知。但我认为我应该把集线器(API 网关?,微服务?...)放在哪里?我如何为这个系统应用signalR。

谢谢。

the*_*_uk 7

据我所知,尽管它的名字,“集线器”根本不是一个独立的服务,所以你不必在任何地方安装它。SignalR 是您的服务用来直接与您的客户端通信的库。SignalR 可以通过两种方式使用,首先是“持久连接”API 为服务提供了一种向客户端发送任意数据的方法。它的主要目的是抽象出类似于 WCF 的底层传输机制(例如 Websockets、Ajax 长轮询等)。其次,“集线器”API 是一个更高级别的抽象层(建立在“持久连接”API 之上),它允许服务器调用客户端上的“方法”(即在行为上类似于 RPC)。因此,每个客户端都有一个进程内“中心”

它的术语也可能令人困惑,因为在某些描述中,我看到托管集线器实例的服务称为“集线器”。因此,在您的情况下,您的任何服务都可以具有内置集线器,或者您可以拥有由其他服务共享的专用集线器服务。无论哪种方式,集线器都存在于一个或多个服务中。