【问题标题】:Signalr scaleout with sql backplane带有 sql 背板的 Signalr 横向扩展
【发布时间】:2017-06-19 02:47:33
【问题描述】:

我查看了 Introduction to Scaleout in SignalRSignalR Scaleout with SQL Server 文档,但对于它的实际工作原理,我有些困惑。

  1. 背板如何识别与其连接的所有服务器?有没有办法从背板获取已连接服务器的列表?
  2. 如果两台服务器有两个不同的 dns 名称(例如:abc.com 和 123.com)但连接到同一个 sql 背板,消息是否也会发送到这些不同的 dns 服务器? .如果是这样,如果客户端连接到 abc.com,但请求发送到 123.com,是否会通过 abc.com 传递给客户端?
  3. 在文档中说所有服务器都将消息保存在本地缓存中。有没有办法知道特定服务器收到了这条消息,以便我们可以在某个地方记录它?

【问题讨论】:

    标签: sql-server signalr signalr-backplane


    【解决方案1】:
    1. 在这种情况下,背板是 SQL Server,当服务器连接到背板时,它正在建立一个 sql 连接,并且 SQL 知道谁连接了,例如使用 sp_who 存储过程。
    2. 这取决于您发送消息的方式。如果服务器正在向所有客户端发送消息并将其连接到背板,则消息首先进入背板,然后每个连接的服务器拾取消息并将其传递给其客户端。组会发生相同的过程,但服务器只会将消息发送给组中的客户端。
    3. 在服务器从背板获取消息并将其传递给客户端之间,我找不到截取消息的方法。所以我不认为有办法记录这个。如果您找到方法,请告诉我。

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 2015-12-14
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      相关资源
      最近更新 更多