0

我想问一下关于actimvemq的配置的可行性。我必须保证四个条件。

1) 一台服务器中的每个生产者、消费者和代理都加载在同一个 jvm 上。

2)一台服务器中的每个生产者都必须将消息传递给同一服务器的消费者。

3)如果其中一台服务器被杀死并在服务器中保留一些消息,我希望另一台服务器的代理获取被杀死节点的消息并执行而不是被杀死节点。该消息将在 jdbc 数据库存储中。

您能否推荐替代方法或对此实现进行解释?

4

1 回答 1

0

困境是你想要一个主动-主动设置(我假设是集群),但又想要在集群内部进行故障转移。

您无法让活动节点拾取失败的代理数据库并从那里继续。您可以做的是在每台机器上创建一个额外的代理设置,充当第一台机器的从属。

查看文档 http://activemq.apache.org/masterslave.html

然后每台机器都有另一台机器的故障转移。这样就不会有任何消息被搁置(假设只有一台机器发生故障)。这不会花费太多的 RAM 来保持从站空闲。但是,随着时间的推移,该解决方案的托管和维护有点复杂。

我认为您在客户端连接到本地代理时不需要做太多事情(如果服务器关闭,生产者/消费者也是如此)。

集群+主从

于 2013-05-13T09:27:26.997 回答