Redis 背板与粘性负载平衡器
我正在开发Signal应用程序。我的应用程序将有多个实例在负载平衡器后面的不同服务器上运行。我阅读了有关背板的内容,发现它主要用于服务器故障,并处理多台服务器之间的请求跳跃(可能还有另一个好处)Redis 背板与粘性负载平衡器,redis,signalr,signalr-backplane,Redis,Signalr,Signalr Backplane,我正在开发Signal应用程序。我的应用程序将有多个实例在负载平衡器后面的不同服务器上运行。我阅读了有关背板的内容,发现它主要用于服务器故障,并处理多台服务器之间的请求跳跃(可能还有另一个好处) 请考虑下面的场景,并建议我是否还需要背板。 我正在使用粘性负载平衡(即,来自客户端的所有后续请求都转到同一服务器)?因此,在好的场景中不可能出现请求跃点 我是如何处理服务器宕机场景的-当服务器宕机时。客户端尝试重新连接并出现“404未找到”错误。此时,客户端启动新连接并正常工作。在开发信号器应用程序时使
请考虑下面的场景,并建议我是否还需要背板。
我正在使用粘性负载平衡(即,来自客户端的所有后续请求都转到同一服务器)?因此,在好的场景中不可能出现请求跃点我是如何处理服务器宕机场景的-当服务器宕机时。客户端尝试重新连接并出现“404未找到”错误。此时,客户端启动新连接并正常工作。在开发
信号器
应用程序时使用背板的主要原因来自以下场景:
- 假设您有两台web服务器托管您的应用程序,
和serverA
serverB
- 您有两个客户端连接到您的应用程序,
由client1
提供服务,serverA
由client2
serverB
信号器
应用程序时,一个很好的假设是您希望这两个客户端彼此通信。因此client1
向client2
发送消息
client1
发送消息的那一刻,他的请求由server1
完成。但是server1
在内存中保留连接用户的映射。它查找client2
,但是client2
保存在serverB
的内存中,因此消息永远不会到达那里
通过使用背板,基本上一台服务器中的每条消息都会广播到所有其他服务器
一种解决方案是使用称为背板的组件在服务器之间转发消息。启用背板后,每个应用程序实例都会向背板发送消息,背板会将消息转发给其他应用程序实例
取自
一定要检查这个
希望这有帮助。祝你好运 谢谢回复。我的应用程序不需要客户端之间的通信。它只在服务器和客户端之间进行。任何服务器都可以为任何客户机服务。我还需要背板吗?如果客户端有两个应用程序实例(应用程序中有两个选项卡),会不会将来自这两个实例的请求路由到同一台服务器?是的。因为负载平衡器的粘性行为是基于源IP的。如果在用户和他的连接之间创建映射,我认为不需要背板。