2

我们使用 CXF 分布式 OSGi 在不同的机器上部署两个服务实例。我们想给系统负载均衡功能。我们所知道的 OSGi 不提供任何负载平衡功能。有谁知道该怎么做?

4

2 回答 2

2

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

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

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

于 2013-07-21T08:31:41.343 回答
0

您应该能够使用 ServiceTracker 获得完整的服务列表。因此,创建负载均衡器的一个好方法应该是自己创建一个代理服务来执行负载均衡并将其作为具有特殊属性的服务在本地发布。因此,您的业务应用程序可以在不了解负载平衡细节的情况下使用该服务。

于 2013-07-22T06:56:21.580 回答