1

我们有一个负载平衡的网络服务器设置,因此我们希望使用 SignalR 与 SignalR 背板进行客户端/服务器通信。

当客户端向服务器发送内容时,我们如何确保只有一个服务器写入数据库?背板会将消息重新路由到所有服务器,但并非所有服务器都可以将相同的内容写入数据库!

关于如何使用 SignalR 背板并仅从一台服务器写入数据库的任何技术/建议?

在我的理想世界中,我会在一台服务器上接收消息,将消息存储到 DB,然后将消息(可能与传入消息不同)放在背板上。

4

1 回答 1

2

SignalR 背板仅将从服务器发送到客户端的消息转发到所有服务器。这样做是为了 SignalR 可以确保消息将到达其预期的客户端,即使它们连接到另一台服务器也是如此。

当 SignalR 客户端调用 Hub 方法时,即使负载均衡器后面有多个 SignalR 服务器通过背板进行通信,也只会在一台服务器上调用 Hub 方法。

于 2014-10-03T18:28:40.890 回答