Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis 背板与粘性负载平衡器_Redis_Signalr_Signalr Backplane - Fatal编程技术网

Redis 背板与粘性负载平衡器

Redis 背板与粘性负载平衡器,redis,signalr,signalr-backplane,Redis,Signalr,Signalr Backplane,我正在开发Signal应用程序。我的应用程序将有多个实例在负载平衡器后面的不同服务器上运行。我阅读了有关背板的内容,发现它主要用于服务器故障,并处理多台服务器之间的请求跳跃(可能还有另一个好处) 请考虑下面的场景,并建议我是否还需要背板。 我正在使用粘性负载平衡(即,来自客户端的所有后续请求都转到同一服务器)?因此,在好的场景中不可能出现请求跃点 我是如何处理服务器宕机场景的-当服务器宕机时。客户端尝试重新连接并出现“404未找到”错误。此时,客户端启动新连接并正常工作。在开发信号器应用程序时使

我正在开发Signal应用程序。我的应用程序将有多个实例在负载平衡器后面的不同服务器上运行。我阅读了有关背板的内容,发现它主要用于服务器故障,并处理多台服务器之间的请求跳跃(可能还有另一个好处)

请考虑下面的场景,并建议我是否还需要背板。

我正在使用粘性负载平衡(即,来自客户端的所有后续请求都转到同一服务器)?因此,在好的场景中不可能出现请求跃点


我是如何处理服务器宕机场景的-当服务器宕机时。客户端尝试重新连接并出现“404未找到”错误。此时,客户端启动新连接并正常工作。

在开发
信号器
应用程序时使用背板的主要原因来自以下场景:

  • 假设您有两台web服务器托管您的应用程序,
    serverA
    serverB
  • 您有两个客户端连接到您的应用程序,
    client1
    serverA
    提供服务,
    client2
    serverB
在开发
信号器
应用程序时,一个很好的假设是您希望这两个客户端彼此通信。因此
client1
client2
发送消息

client1
发送消息的那一刻,他的请求由
server1
完成。但是
server1
在内存中保留连接用户的映射。它查找
client2
,但是
client2
保存在
serverB
的内存中,因此消息永远不会到达那里

通过使用背板,基本上一台服务器中的每条消息都会广播到所有其他服务器

一种解决方案是使用称为背板的组件在服务器之间转发消息。启用背板后,每个应用程序实例都会向背板发送消息,背板会将消息转发给其他应用程序实例

取自

一定要检查这个


希望这有帮助。祝你好运

谢谢回复。我的应用程序不需要客户端之间的通信。它只在服务器和客户端之间进行。任何服务器都可以为任何客户机服务。我还需要背板吗?如果客户端有两个应用程序实例(应用程序中有两个选项卡),会不会将来自这两个实例的请求路由到同一台服务器?是的。因为负载平衡器的粘性行为是基于源IP的。如果在用户和他的连接之间创建映射,我认为不需要背板。