如何在分布式OSGi中进行负载均衡?

时间:2013-07-21 05:33:46

标签: osgi load-balancing

我们使用CXF分布式OSGi在差异机器中部署两个服务实例。我们希望为系统提供负载均衡功能。我们都知道OSGi不提供任何负载均衡功能。有谁知道怎么做?

2 个答案:

答案 0 :(得分:2)

负载平衡是一个由拓扑管理器(TM)实现的问题。阅读远程服务管理员规范将非常有用,该规范正好解决了这类问题。

据我所知,远程服务的CXF实现只实现了一个“混杂”的TM,即它在每个监听框架中发布每个可用的服务。但是,可以编写自己的TM来执行负载平衡和故障转移等。

远程服务规范的编写方式可以完全独立于任何特定的远程服务实现开发TM实现。

答案 1 :(得分:0)

您应该能够使用ServiceTracker获取完整的服务列表。因此,创建负载均衡器的一个好方法应该是自己创建一个代理服务来实现负载平衡,并将其作为具有特殊属性的服务在本地发布。因此,您的业务应用程序可以使用该服务,而无需了解负载平衡的详细信息。