在多个负载均衡的服务器上signalr+redis无效

Caessary 2019-01-19 04:07:19
在3台负载均衡的机器上部署了3个signalr asp.net服务端,其中一台上安装了redis,3个服务端指向同一个redis,然而测试结果并没有达到预期,实际情况是只会各发各的
...全文
745 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Caessary 2019-01-23
  • 打赏
  • 举报
回复
引用 6 楼 luj_1768 的回复:
redid 属于通报服务,在一个服务集群中只能有一台设备安装,服务集群中的相关信息汇总到redis 服务器中,其他服务器收到相关数据变更后,自行扩散相关信息。也就是说,网络中的redis 服务,数据源是同一个,但表现形式或者格式可能是不同的。
我的redis只安装在其中一台上面,然后3台服务器都部署了一个hub,然后3个hub负载在一个域名下面
luj_1768 2019-01-23
  • 打赏
  • 举报
回复
redid 属于通报服务,在一个服务集群中只能有一台设备安装,服务集群中的相关信息汇总到redis 服务器中,其他服务器收到相关数据变更后,自行扩散相关信息。也就是说,网络中的redis 服务,数据源是同一个,但表现形式或者格式可能是不同的。
Caessary 2019-01-22
  • 打赏
  • 举报
回复
好吧,是服务器负载模式不对,改为tcp负载就好了
  • 打赏
  • 举报
回复
负载均衡根本没有必要。把你的阿里云上的服务器的 ip 地址写到客户端的一个数组里,会写一条(例如使用 jQuery的)前端 Promise 语句即可。
  • 打赏
  • 举报
回复
复杂均衡器需要将同一个客户端 ip 的请求指向同一个服务器。 实际上,既然你的浏览器端使用 websocket,那么完全可以在浏览器端自动判断一组服务器哪一个(http)更快,然后直接选择它进行 websocket 连接。你的前端程序可以包含一组服务器 ip 地址,而不是一个。
Caessary 2019-01-19
  • 打赏
  • 举报
回复
引用 1 楼 以专业开发人员为伍 的回复:
什么叫做“各发各的'?
就是比如我两个客户端连接地址直接都写死其中一个服务端的内网IP是能正常的,但是直接用写阿里负载后的域名就不行了,有时候当2个客户端刚好负载到一个服务端时可以同,负载到不同服务端时就不通了,很头疼,在公司服务器迁移前这个负载时正常的,迁移到新机子后就不行了不知道是哪里的问题
  • 打赏
  • 举报
回复
什么叫做“各发各的'?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧