How do I cluster ServiceMix?

孤者浪人 提交于 2019-12-18 13:17:11

问题


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.


回答1:


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.




回答2:


Fabric8 (http://fabric8.io/) can do Karaf/ServiceMix clustering and much more out of the box. It also have additional clustered Camel components such as the master and fabric endpoints

  • http://fabric8.io/gitbook/camelEndpointMaster.html
  • http://fabric8.io/gitbook/camelEndpointFabric.html

There is a clustered Camel example, that demonstrates that

  • https://github.com/fabric8io/fabric8/tree/master/fabric/fabric8-karaf/src/main/resources/distro/fabric/import/fabric/profiles/example/camel/cluster

The principle is illustrated in the image below:




回答3:


take a look at Apache Cellar as its targeted at these use cases...

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



来源:https://stackoverflow.com/questions/16896074/how-do-i-cluster-servicemix

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!