Nginx或LVS for Node.js负载平衡?
我们的项目需要对node.js进行TCP数据包负载平衡. 建议是:(Nginx或LVS)保持生命的节点集群 问题: >与TCP服务器的高并发客户端连接需要长期存在. Nginx或LVS中哪一个更合适? 最后,我们想知道我们的建议是否合理.还有其他更好的建议或组件可供选择吗? 最佳答案
我假设您不需要nginx服务器静态资产,否则LVS将不是一个选择.
1)nginx仅通过第3方模块https://github.com/yaoweibin/nginx_tcp_proxy_module支持TCP如果您不需要Web服务器,我会说LVS更合适,但是请在#回答的末尾看到我的其他评论. 2)LVS支持优先级,nginx不支持. 3)可能是LVS:nginx是用户级的LVS内核. 4)谎言,该死的谎言和基准.您必须模拟设备上的负载,编写节点客户端脚本并敲击设置. 我们正在考虑使用https://github.com/LearnBoost/up从头到尾的所有节点,但尚未投入生产,但由于以下原因,我们正在采用此路线: 1)我们也有优先级要求,但它们是自定义的,并且会动态更改.我们正在运行时调整优先级,并且花了不到一个小时的时间对节点进行编程. 2)我们部署了大量代码更新,并且向上更新使我们能够在不中断现有客户端的情况下进行更新.因为您可以对它进行编码以执行所需的任何操作,所以我们可以启动全新的流程来处理新的连接,并在现有连接全部消失后让旧的连接消失. 3)我们可以看到所有内容,因为我们将要查看的任何指标推送到Redis服务器中. 我确信它不是每个进程/服务器性能最高的,但是拥有这么多程序控制的优势是值得的,而横向扩展则具有更多冗余的优势,因此我们不打算从中挤出最后的性能.堆栈. 我只是快速地检查了一下是否可以复制/粘贴一堆代码,但是我们正在快速对其进行编码,并且它对很多不适合公众使用的内容进行了引用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx-ElasticBeanstalk上的Websocket提供404
- 铁路上的ruby-乘客是否可以使用像Mongrel这样的集群?
- Nginx:速率限制设置不起作用
- nginx-我陷入了logrotate之谜
- apache-2.2 – 如何在同一台服务器上运行两个不同的Web服务
- 安全 – 有人试图破解我的网站吗?如何阻止Nginx中的某些UR
- JavaScript – 第3方脚本缓存在Rails 3.1
- linux+apache2+php5+jsp+mysql5环境架设
- ruby-on-rails – 使用rails,nginx和send_file在Chrome中流
- python – uwsgi破管 – django,nginx