假设我正在尝试在一个node js应用程序中扩展我的应用程序以通过200k+套接字连接,我该怎么做呢?我一直在做大量的研究和思考:-application layer -socket.io layer -load balancer
这是在我阅读了socket.io基准测试article之后,但后来偶然发现了socketcluster!我也考虑过使用socket.io + redis和增加heroku dyno,不确定这会在多大程度上提高socket.io的可扩展性。
我现在的问题是,集群js不是已经在所有可用内核上运行多个节点js服务器实例的socket.io了吗?如果是这样的话,为什么需要socketcluster呢?
谢谢!
发布于 2016-10-29 01:58:21
Socket.io需要粘性负载平衡,这会使您的应用程序更容易受到DoS攻击(使用粘性负载平衡,恶意用户可以针对特定的工作人员,一次一个地使其崩溃)。此外,当您必须处理企业代理后的用户时,粘性负载平衡可能会导致员工之间的流量分配不均匀。
与SocketCluster不同,Socket.io不支持发布/订阅,这使得连接到不同工作者/主机的用户之间的通信变得困难。
https://stackoverflow.com/questions/32600132
复制相似问题