【发布时间】:2013-08-13 16:54:15
【问题描述】:
我有一个基于 Apache Camel 的中间件,它执行如下事务:
from("amq:job-input")
to("inOut:businessInvoker-one") // Into business processor
to("inOut:businessInvoker-two")
to("amq:job-out");
目前它运行良好。但我无法扩大规模,比如说从 100 TPS 到 500 TPS。我已经
- 提高并发消费者设置并使用空业务处理器
- 已配置 JAVA_XMX 和 PERMGEN
加快交易速度。
根据 Active MQ Web 控制台,在 500TPS 场景中等待处理的消息非常多。我想,解决方案之一是扩大 ActiveMQ。所以我想在集群中使用多个代理。
根据http://fuse.fusesource.org/mq/docs/mq-fabric.html(“拓扑”一节),在集群模式下配置ActiveMQ适用于非持久消息。恕我直言,确实不合适,因为所有正在运行的代理都使用相同的存储文件。但是,分离存储文件呢?现在可以了吧?
谁能解释一下?如果不可能,负载平衡持久消息的最佳方法是什么?
谢谢
【问题讨论】:
标签: activemq apache-camel load-balancing jbossfuse