首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vertx SockJS服务器vs sockjs-tornado

Vertx SockJS服务器vs sockjs-tornado
EN

Stack Overflow用户
提问于 2012-09-29 19:32:04
回答 2查看 1.3K关注 0票数 2

我已经检查了两个类似的解决方案,使用独立的Python服务器通过sockJS支持web套接字,到目前为止,我找到了两个解决方案。

我需要编写一个复杂的、可伸缩的基于web socket的web应用程序,我担心这将很难扩展Tornado,而且似乎Vertx更适合于web socket的水平扩展。

我还了解到Redis可以与Tornado一起用于水平扩展发布/订阅系统,而HAproxy可以用于扩展SockJS请求。

在Vertx和Tornado之间,编写支持SockJS的可扩展系统的首选解决方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2012-11-26 17:46:51

Vertx有内置的集群支持。我没有在很多节点上尝试过它,但它似乎在一些节点上工作得很好。在内部它使用hazelcast来组织节点。Vertx还运行在JVM上,JVM上已经有许多可能有用的监控/管理工具。因此,在我看来,Vertx似乎是“包含电池”的解决方案。

票数 3
EN

Stack Overflow用户

发布于 2013-06-10 00:26:44

您也可以使用Sockjs Tornado + Rabbit MQ + Memcached来水平扩展。RabbitMQ brocker将扮演从物理服务器A到物理服务器B的消息总线的角色。所有关于服务器的信息都可以存储在memcache中。例如,您需要从客户端套接字C1(A)向客户端套接字C2(B)发送消息M:

如果A的接收方托管在同一服务器上(通过检查memcache),则直接使用Router

  • otherwise通过RabbitMQ brocker B1(A)发送M(通过使用路由逻辑)发送消息到B2(A),SockJS路由器B可以将您的消息直接发送到原始接收方C2(B)。

由于RabbitMQ的AMQP协议使用了Erlang,因此消息传递非常稳定,非常适合于高负载的分布式应用。为了支持我的话,请看这里:http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/

每台物理服务器(配备power Xenon 4节点,内存4 4Gb,HDD- 140 -1000 4Gb)可以处理3-5个sockjs tornado实例。通过url中的附加参数,SockJS实现也很好地利用了反向代理(HaProxy)。

对于分布式测试,您可以使用gemetr或tsung (基于erlang)。

我在几个分布式应用程序中使用了这种方法。

此外,不要忘记使用Tornado内存作为L1缓存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12652336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档