我正在寻找有关如何群集ServiceMix解决方案的一些初始指导。基本上我需要的是:

  • 具有2个(或更多)ServiceMix实例,可满足我的路由需求并共享负载
  • 如果一个实例失败,则其他实例继续服务
  • 如果失败的人复活了,它将加入聚会

  • 搜索信息使我感到困惑,因为
  • 一些引用(例如http://trenaman.blogspot.fi/2010/04/four-things-you-need-to-know-about-new.html)谈论“JBI集群引擎”。我不想使用JBI。不支持该功能。是否有单独的“非JBI集群引擎”或发生了什么...?
  • 我看到很多有关“DOSGi”的提及。如果要实现群集的ServiceMix,是否需要担心所有这些简单的事情?

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

    最佳答案

    从表面上看,您需要的是两个并排运行的ServiceMix实例,没有专门配置故障转移。如果要群集实例,只有一个服务请求,就可以进行故障转移。

    忽略JBI的东西-它是旧的。在您描述的用例中,分布式OSGi是一个红色的鲱鱼。

    正如boday所建议的那样,Cellar用于跨逻辑组Karaf/ServiceMix实例统一管理软件包的安装,因此您可以从一个位置进行管理,而无需手动在每个实例上安装新版本。

    09-13 12:55