ActiveMQ中的多个代理和故障转移

时间:2014-01-16 22:41:27

标签: activemq

我有两个关于ActiveMQ的问题。

  1. 在我的环境中,我在3台服务器中设置3个ActiveMQ并共享一个数据库。是否可以在3台服务器中运行3个ActiveMQ来共享同一个数据库?我试着设置它。但是,看起来3个代理无法共享同一个数据库。这是对的吗?
  2. 另外,我做了一些故障转移测试,看起来ActiveMQ无法保证消息顺序。例如我将3个ActiveMQ设置为ServerA,ServerB和ServerC。然后,我将MessageA,MessageB发布到ServerA并将MessageC发布到ServerB中。 ServerA ServerB和ServerC已设置为故障转移服务器。当我关闭ServerA时,可以使用唯一的MessageC。但是,消费的消息顺序应该是MessageA,MessageB和MessageC。即使ServerA关闭,我也需要保留此消息顺序。是否可以配置ActiveMQ以保证故障转移的消息顺序?
  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 您可以将所有3设置为相同的数据库。它们将像主从故障转移一样。只运行一个实例,其他两个实例将等待数据库锁定以进行接管。

  2. 如果您遵循#1,它将保证订单,但您将一次使用一台服务器(并将集中式数据库作为存储)