1

我正在寻找现有的中间件解决方案,以解决服务集群/分布方面的负载平衡和可用性问题。我正在考虑基于消息传递系统(更具体地说,JMS)为此建立自己的基础架构。但是,如果可能的话,我宁愿使用已经存在的东西。

系统应该能够在多台计算机上运行各种服务。根据服务描述,系统应该能够计算出在集群中启动了多少特定服务的实例。根据挂起的服务请求,它应该动态调整正在运行的服务数量。监控服务和部署新版本的服务也应该由系统处理。

我所说的服务是指具有预定义接口的“独立功能单元”。客户端只知道接口,中间件应该注意确保服务在足够多的节点上运行,以便响应通过接口发出的传入请求。

它应该是与 Java 很好地集成的东西。我的一些服务是作为本机代码实现的,但我有一个很好的解决方案可以将它们包装到基于 Java 的服务中。

我查看了一些中间件/ESB 解决方案,例如ICEMule,但我没有发现它们可以很好地解决我上面描述的动态负载服务供应的各个方面(如果有的话)。所以我想知道还有什么可能是这里有人想推荐看看的……

4

1 回答 1

1

我建议您更深入地研究 OSGi:

最后一点,您可以看一下Paremus Service Fabric - 从描述来看,它听起来与您尝试构建的野兽非常相似(除了它使用JINI而不是 JMS)。如果不出意外,它可能是灵感的来源。

他们也曾经有一个名为 Newton 的开源版本,但由于缺乏兴趣而被关闭。有人提到它以 Service Fabric Community Edition 的名义存在,但我目前在他们的网站上找不到任何对它的引用(很可能它只是被取消了)。

最后,这里还有一个灵感项目:Bundle-Bee - 透明、网格分布式 OSGi 计算。很可能还有更多类似的项目。

于 2010-10-14T16:13:29.147 回答