【问题标题】:activeMQ master/slave for high availability用于高可用性的 activeMQ 主/从
【发布时间】:2014-05-27 13:52:55
【问题描述】:

我正在尝试使用 activeMQ 主/从,以获得高可用性,但似乎我们只能有一对主/从,例如 amq1M(主)和 amq1S(从),如果 amq1M 关闭,它可以故障转移到amq1S,

但我也可以将 amq1S 设置为另一台服务器的主服务器 -- newslave 吗?这样如果 amq1S 也出现故障,它可以故障转移到新闻服务?

进一步的问题,任何人都知道如何设计 activeMQ 主/从结构以设置服务器“集群”以实现高可用性。例如,我们有 4 个 activeMQ 服务器在运行——A、B、C、D。(我在想 A->B->C->D,这意味着这 4 个服务器中有 3 个主/从对。)

感谢您的任何建议:)

【问题讨论】:

    标签: activemq master slave


    【解决方案1】:

    在这种情况下,您通常会在每台服务器上安装多个代理。

    物理/虚拟服务器1:AMQ1Master、AMQ2Slave

    物理/虚拟服务器2:AMQ2Master、AMQ1Slave

    代理和服务器的数量可以扩展。

    请注意,您需要确保单个物理服务器有足够的内存来运行 运行所有已安装的代理。

    您还需要分配一些非默认端口号。

    使用replicated LevelDB store,您可以将每个逻辑代理复制到多个服务器,然后将基础架构重用于另一个或两个逻辑代理。

    【讨论】:

    • 是的,连接到 AMQ1Master 的客户端无缝地故障转移到 AMQ1Slave,如果你是这个意思的话。
    • 感谢您的回答,我正在寻找跨不同服务器的高可用性——如果一台服务器关闭,我希望故障转移到另一台服务器。由于主/从是同一台服务器上的 2 个代理,它确实满足了我的需要。所以你的建议是链接“replicated LevelDB store”,需要zookeeper?谢谢
    • 我正在寻找跨不同服务器的“无缝故障转移”,而不仅仅是代理。如果 AMQ1Master 和 AMQ1Slave 是同一台服务器上的 2 个代理,这不是我要直接寻找的……但是您对“复制的 LevelDB 存储”的回答似乎是我需要的,但更复杂?因为我们需要zookeeper来协调集群中哪个节点是master?
    • 如果你只有两台服务器并且可以访问一个可靠的共享磁盘(CIFS、NFS 或类似的),我实际上会推荐一个共享文件系统主/从。 activemq.apache.org/shared-file-system-master-slave.html 复制的 LevelDB (ZooKeeper) 至少需要三台服务器,如果其中两台服务器关闭,它就无法真正运行。因此,如果您有四台以上的服务器,您可以在它们上安装复制的 levelDB 服务器,并消除单点故障(共享磁盘)。
    • 我实际上有超过 2 台服务器,目前 3 台。将来可能会更多,而且它们跨越多个国家(美国、英国......)我认为“Zookeeper”似乎是我的情况的最佳解决方案?
    猜你喜欢
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多