2014-01-16 225 views
2

我们有一组30个生产者和30个消费者当前正在使用来自单个ActiveMQ实例的消息。所有生产者写入25个队列,所有消费者都可以从队列中消耗。到目前为止,没有任何消息路由或故障转移。我们希望使其能够水平扩展,而不需要对生产商&消费者进行任何代码更改。activemq负载均衡使用弹性负载平衡器?

我们有一个想法是使用两个ELB,一个在生产者之前,一个在消费者之前,所以我们会随意添加/删除activemq。我无法在线找到任何此类文档或材料,并想知道是否有人在此类设置上工作,或者是否有可能首先进行此类设置。任何通过随意添加节点来使系统可水平扩展的建议将有所帮助

回答

0

我们继续使用了ActiveMQ 5.4或更高版本中的automatic broker cluster功能。 This article对理解这个设置非常有帮助。

+0

嘿zolo,我有兴趣设立同样的建筑。所以最后,你不需要ELB进行缩放?来自ActiveMQ的集群可以自行处理?如果不是的话,你能否详细说明一下。谢谢! –

+0

自动代理群集似乎适用于高可用性,但它要扩展(例如,以支持消费者的庞大的数字),那么我不知道自动代理群集是你所需要的。为此,您最初的ELB想法看起来不错。 – Duncan

0

请看networks of brokers。这将允许您即时添加activemq实例(推测使用多播发现)。然后您需要动态更新ELB以包含新实例。经纪人的ActiveMq网络允许消费者和生产者连接到网络上的任何地方并交换流量。

+0

AWS中没有组播 – TheFiddlerWins

+0

有多种发现的替代方案。也许有新的代理通过双工tcp网络连接器配置连接到现有地址的(已知)地址。诀窍将是使所有这些动态和自动,如果这是你所需要的。 – Duncan