【问题标题】:Clustering in ServiceMix 4ServiceMix 4 中的集群
【发布时间】:2011-02-23 20:34:25
【问题描述】:

我正在尝试配置 Apache ServiceMix 4 以提供其文档中提到的负载平衡功能(例如这里:http://servicemix.apache.org/clustering.html)。虽然提到了,但我找不到确切的方法。

这个想法是让 2 个 ServiceMixes(例如在 LAN 中)安装相同的 OSGi 服务。当客户端尝试使用该服务时,负载均衡器会将他带到其中一个 ServiceMixes 上的适当服务实例。

有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: apache web-services cluster-computing load-balancing apache-servicemix


    【解决方案1】:

    我没有分布式 OSGi 的经验,所以我只会谈论基于 JMS 的集群解决方案。

    这是一个很好的 ServiceMix 4 JBI 集群示例(请相信他,您必须关闭管道订阅...): http://trenaman.blogspot.com/2010/04/four-things-you-need-to-know-about-new.html

    这也很重要: trenaman.blogspot.com/2009/03/new-jms-flow-in-servicemix-4.html

    “JBI 集群”这个名称表明您应该使用这种机制来集群您的应用程序,但在大多数情况下,最好使用简单的 JMS 端点来实现集群功能。如果您可以完全避免 JBI,则尤其如此。

    【讨论】:

      【解决方案2】:

      我还没有达到我的项目的这个阶段,所以我没有使用它的经验;但 Karaf 有一个子项目 Cellar,它是围绕分布式 OSGi 设计的。

      【讨论】:

        【解决方案3】:

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

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

        然后,客户端将在提供服务的活动节点之间进行负载平衡。因此,如果您有 5 个节点,那么它会在这些节点之间保持平衡。如果其中一个节点死亡或停止等,那么它只是在 4 个仍处于活动状态的节点之间保持平衡。因此,该解决方案具有完全的弹性和可扩展性。

        原理如下图所示:

        【讨论】:

          猜你喜欢
          • 2014-09-11
          • 2014-10-27
          • 1970-01-01
          • 2017-08-05
          • 1970-01-01
          • 2010-12-01
          • 2015-11-10
          • 2021-06-10
          • 2013-07-09
          相关资源
          最近更新 更多