Cas*_*ynn 10 scalability load-balancing websocket node.js
我已经成为ruby/php Web应用程序开发人员已经有一段时间了,我已经习惯了水平扩展服务器实例以处理更多请求的想法.水平扩展 - 意味着位于负载均衡器后面的应用程序的单独实例,它们不共享任何内容并且彼此不知道.
我的主要问题是,因为Node.js以及它对evented-io的重视允许运行node.js服务器的单个盒子来处理'数千个'同时发出的请求 - 是用于扩展nodejs应用程序的负载平衡/水平扩展?缩放节点应用程序仅限于垂直缩放(在问题上投入更多RAM /处理能力)?
我的第二个问题与node.js水平扩展和websockets有关.我已经看过很多使用websockets的Node.js'聊天'教程.(最喜欢的:http://martinsikora.com/nodejs-and-websocket-simple-chat-tutorial)
由于websockets有效地在浏览器和服务器之间保持开放的通信线路,因此PHP/Ruby世界中典型的水平扩展架构会导致聊天应用程序如链接中所解释的那样中断 - 因为新的websocket连接请求将是分配给不同的进程/服务器,没有一个中央资源跟踪所有连接的客户端?