【问题标题】:How do I cluster ServiceMix?如何集群 ServiceMix?
【发布时间】:2018-09-29 05:28:43
【问题描述】:

我正在寻找一些关于如何对 ServiceMix 解决方案进行集群的初步指示。基本上我需要的是:

  • 拥有 2 个(或更多)ServiceMix 实例来满足我的路由需求并分担负载
  • 如果一个实例失败,其他实例继续服务
  • 如果失败者复活,它会加入队伍

搜索信息让我感到困惑,因为

我的解决方案可能会有一些使用 JMS 队列相互通信的包。在那种情况下,我是否应该只有 2 个独立的 ServiceMix 实例(彼此不认识)。那不是最简单的选择吗?我看到了对故障转移配置的一些支持 (http://servicemix.apache.org/docs/4.5.x/users-guide/failover.html),但是这真的会带来什么好处(我是否遗漏了什么)?此外,这种故障转移配置对负载平衡没有帮助,因为只有一个实例正在服务请求。

【问题讨论】:

    标签: apache-camel load-balancing high-availability failover apache-servicemix


    【解决方案1】:

    听起来,您只需要两个并排运行的 ServiceMix 实例,而无需专门配置故障转移。如果您需要一个实例集群,并且只有其中一个服务请求,则可以使用故障转移。

    忽略 JBI 的东西 - 这是遗留问题。在您描述的用例中,分布式 OSGi 是一个红鲱鱼。

    正如 boday 建议的那样,Cellar 用于跨一组 Karaf/ServiceMix 实例的逻辑组统一管理捆绑包的安装,因此您可以从一个位置管理它们,而不是手动在每个实例上安装新版本。

    【讨论】:

    • 谢谢。我是否理解正确——使用 Cellar 并不意味着我必须进入 DOSGi 或非常关心它?它只会帮助我进行部署吗?如果我不介意做一些额外的工作,我也可以忘记邻接 Cellar,只需在每个实例上手动部署更新版本?
    • 没错。如果这有用,请记得投票。
    【解决方案2】:

    Fabric8 (http://fabric8.io/) 可以进行 Karaf/ServiceMix 集群以及更多开箱即用的功能。它还具有其他集群 Camel 组件,例如主节点和结构端点

    有一个集群的 Camel 示例,证明了这一点

    原理如下图所示:

    【讨论】:

      【解决方案3】:

      看看针对这些用例的 Apache Cellar...

      http://karaf.apache.org/index/subprojects/cellar.html

      【讨论】:

        猜你喜欢
        • 2014-09-11
        • 2014-10-27
        • 2011-02-23
        • 2018-09-21
        • 2015-01-11
        • 2013-07-09
        • 2011-12-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多