由于需要做负载均衡
,但做了负载均衡
之后,当请求向新的服务器分发时,websocket
的fd
则从 0
开始,故当pc
和app
不在同一服务器时,则会出现pc
无法直接向app
传递消息。
具体问题:PC
发送请求,被转发到服务器A
,APP
发送请求,被转发到服务器B
,这时PC
和APP
由于不在同一服务器,故不能直接通过websocket
进行传递消息。
使用三台服务器做负载均衡
,分别为 A
、B
、C
,其中A
用来做负载均衡
,B
、C
存储websocket
源码
A
配置 upstream taishan {
server server B:9502 weight=1;
server server C:9502 weight=1;
}
server {
listen 80