我很困惑,想要澄清一下

我有许多微服务,它们位于API网关之后.

我有一个react 网络应用程序,它通过网关与这些API交互

Reaction应用程序当前以设置的间隔轮询API,以更新或刷新其世界视图

我们的客户现在希望有一种更实时的方法.这里的简单解决方案是转移到支持azure功能的azure SignalR.

两件事.

  1. 然后,每个API如何通知该SignalR服务发送更新?

  2. 这是最佳实践吗?或者我应该在每个微服务中都有一个SignalR实例?在我看来,这是个糟糕的设计吗?因为网关将 for each 服务发布套接字端点.

推荐答案

最好是使用一个枢纽.网关背后的微服务将是集线器的客户端.连接到网关的应用程序也将是集线器的客户端.

微服务将不在与客户端应用程序相同的组中.

当服务有更新时,它们会向集线器发送消息.然后,集线器上的方法将其发送到使用服务的应用程序组(S).

这将是一个比将您的每一个服务都集成到SignalR集线器中要简单得多的设计.

.net相关问答推荐

创建仅包含msBuild.Target的Nuget包

竖线在 PropertyGroup .csproj 文件中的含义

如何使用 C# 关键字作为属性名称?

如何获取控制台应用程序的执行目录

将 BitmapImage 转换为 Bitmap,反之亦然

在 Moq 中模拟泛型方法而不指定 T

在 .NET C# 中存储加密密钥的最佳方式

重新启动(回收)应用程序池

运算符重载 ==, !=, Equals

日期时间是什么意思?在 C# 中是什么意思?

无法将文件 *.mdf 作为数据库附加

如何将时间设置为当天的午夜?

关闭 Visual Studio 中所有选项卡但当前选项卡的键盘快捷键?

等效于 C# 在 powershell 中的使用关键字?

文件按文件名模式存在

Moq - 不可覆盖的成员不能用于设置/验证表达式

将字典值转换为数组

在 .Net 中调用 Web 服务时绕过无效的 SSL 证书错误

obj 文件夹是为了什么而生成的?

System.Array.CopyTo() 和 System.Array.Clone() 之间的区别