websocket+nginx集群 我感到不解

我在网上博客看到了websocket和nginx集群的一些文档,有个地方一直疑惑,我疑惑的地方是这样的。

nginx将websocket连接负载到不同的服务器上。
那么连接建立后,客户端、nginx、背后服务器他们的连接是怎样的?

一种的我的想法是:
客户端跟nginx建立连接,nginx又在和背后服务器建立连接。
如果是这种情况,岂不是nginx成了网站支持最大的连接数的瓶颈?又该如何解决

一种我的想法是:
nginx只是负责将连接转发过去,客户端直接跟nginx背后服务器建立连接,并没有跟nginx建立连接。

我想问哪一种我的这两种想法哪一种才是正确的?
可不可以再给我推荐一点文章看看

阅读 5k
3 个回答

我的理解 觉得第一种吧,nginx负责 负载均衡,反向代理 分发,就类似lvs

岂不是nginx成了网站支持最大的连接数的瓶颈 那如果有那么大量了 就该在dns负载均衡 下,再在nginx_lua层 分发处理

大公司一般都用lvs做负载均衡,当然nginx也可以的

最近我也在学习关于WebSocket的集群相关话题

  1. 一般用Nginx都是用来做负载均衡的都是代理转发。真正做到服务HA都要所有节点都是多点部署...
  2. 按我理解单纯Nginx并不能做到WebSocket的集群(可能孤陋寡闻吧)。

2.1 1v1场景,那么两个都是客户端。在握手的时候分别转发到不同的服务端实例。那么他们两不可能进行通信(服务节点的连接没有共享)
2.2 1v*(群聊),同上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题