如何集群 ServiceMix? [英] How do I cluster ServiceMix?
问题描述
我正在寻找有关如何对 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 实例的逻辑组统一管理包的安装,因此您可以从一个位置管理它们,而不是手动在每个实例上安装新版本.>
I am looking for some initial pointers on how to cluster a ServiceMix solution. Basically what I need is:
- having 2 (or more) ServiceMix instances serving my routing needs and sharing the load
- if one instance fails, other(s) continue to serve
- if the failed one is brought back to life, it joins the party
Searching for information confuses me since
- some references (eg. http://trenaman.blogspot.fi/2010/04/four-things-you-need-to-know-about-new.html) talk about "JBI cluster engine". I don't want to use JBI. Support for it is deprecated. Is there a separate "Non-JBI cluster engine" or what is going on...?
- I see a lot of mentions about "DOSGi". Do I need to worry my simple head with all that if I want to achieve clustered ServiceMix?
My solution will probably have a few bundles that communicate with each other using JMS queues. Should I in that case just have 2 independent ServiceMix instances (who do not know of each other). Wouldn't that be the simplest option? I see some support for a failover configuration (http://servicemix.apache.org/docs/4.5.x/users-guide/failover.html) but what benefits would that really give (am I missing something)? Also this failover configuration does not help with load balancing since just one instance is serving requests.
From what it sounds like, all you need is two ServiceMix instances running side by side with no failover specifically configured. Failover is there if you want a cluster of instances, only one of which services requests.
Ignore the JBI stuff - it's legacy. Distributed OSGi is a red herring in the use case that you have described.
As boday suggests, Cellar is used to manage the installation of your bundles uniformly across a logical group of Karaf/ServiceMix instances, so you can manage them from one location as opposed to installing new versions on each instance by hand.
这篇关于如何集群 ServiceMix?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!