我正在寻找一些有关如何集群 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 实例的逻辑组统一管理捆绑包的安装,因此您可以从一个位置管理它们,而不是手动在每个实例上安装新版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)