我正在寻找现有的中间件解决方案,以解决服务集群/分布方面的负载平衡和可用性问题。我正在考虑基于消息传递系统(更具体地说,JMS)为此建立自己的基础架构。但是,如果可能的话,我宁愿使用已经存在的东西。
系统应该能够在多台计算机上运行各种服务。根据服务描述,系统应该能够计算出在集群中启动了多少特定服务的实例。根据挂起的服务请求,它应该动态调整正在运行的服务数量。监控服务和部署新版本的服务也应该由系统处理。
我所说的服务是指具有预定义接口的“独立功能单元”。客户端只知道接口,中间件应该注意确保服务在足够多的节点上运行,以便响应通过接口发出的传入请求。
它应该是与 Java 很好地集成的东西。我的一些服务是作为本机代码实现的,但我有一个很好的解决方案可以将它们包装到基于 Java 的服务中。
我查看了一些中间件/ESB 解决方案,例如ICE和Mule,但我没有发现它们可以很好地解决我上面描述的动态负载服务供应的各个方面(如果有的话)。所以我想知道还有什么可能是这里有人想推荐看看的……