【发布时间】:2013-05-23 00:25:55
【问题描述】:
我有一个基本的 Java 消息传递应用程序,它将 JAVA 对象发送到远程服务器进行处理。我在线路的两端都利用了 Spring 支持,并使用 ActiveMQ 作为我的 JMS 提供程序。它运行良好 - 我们没有遇到 10 个并发发送消息的客户端的实际问题。
但是,我们现在真的想扩大规模。客户数量可能会增加到 500 家左右。此外,每个客户端使用的带宽比最初声明的问题更大。
我想知道是否有人认为 ActiveMQ 是这项工作的正确工具 - 或者基于套接字的 TCP/UDP 是否会帮助我们更好地扩展。我们并不精通 AMQ 的一些“高级”特性,因为我们将它与基本的 Spring JMS 模板支持一起使用。
任何 cmets / 想法将不胜感激。
谢谢
【问题讨论】:
-
您可能需要多解释一下您的情况。消息频率/消息大小起作用。您是否有持久消息?任何 HA 设置(任何共享磁盘或数据库持久存储)?您是否计划在多台服务器上分配负载?有一些非常轻量级的基于套接字的解决方案,例如zeromq.org,但这可能需要您重新发明一些轮子并进行适当的设计,而通过扩大 AMQ/JMS 解决方案是无法做到的。不能在高负载的情况下添加一个服务器吗?
-
Can't you just add a server in case of high load...首先,您需要确定瓶颈发生在哪里,以在生产者、消费者或/和代理级别进行扩展。
标签: java spring sockets jms activemq