我们正在考虑在我们的企业环境中使用分布式OSGi 我们将进行以下设置:
在所有容器中管理捆绑包生命周期(安装,启动,更新,停止,卸载)的正确方法是什么?
几个要求:
我很欣赏有关上述问题的任何建议。
祝你好运, 马顿
答案 0 :(得分:7)
您可能希望了解针对类似云的环境制作的更多“托管”解决方案:Apache ACE或更大的兄弟Amdatu。
Apache ACE将单个OSGi容器转换为托管容器,其状态可以从单个管理点进行控制。 Amdatu是一个更完整的框架,包括用于配置的ACE,但增加了横向功能。
答案 1 :(得分:3)
在管理大量捆绑包方面,看看Karaf功能 - 它们大大简化了捆绑套件的处理。
对于分布式方面,请查看Karaf子项目Cellar,它使用HazelCast对Karaf进行聚类(并通过功能机制安装在Karaf中)。
答案 2 :(得分:2)
如果您认真对待企业准备 - 意味着“强大” - 分布式OSGi运行时 - 那么请查看Paremus Service Fabric。我们自2005年以来一直这样做:)
Service Fabric的配置/管理架构具有极高的可扩展性(>> 1,000个容器),响应迅速且稳定!多年的开发和商业运行时经验支撑着该产品。 Service Fabric体系结构支持多个并发的分布式OSGi应用程序。 Service Fabric的架构以OBR为中心;我们的首席工程师负责最近的OSGi Alliance OBR规范活动。
Service Fabric消息背板利用DDS消息传递协议 - IMO是分布式OSGi的天然合作伙伴。 Paremus RSA(远程服务实现)是该标准的洁净室实施 - 非常强大,重量轻,并允许协议和分发提供商的动态插拔能力。默认发现提供程序 - 再次是DDS。
最后 - 并且Service Fabric开箱即用。
答案 3 :(得分:1)
在Gyrex中,我们使用p2在群集的不同节点上分发捆绑包。通过使用节点标记和LDAP过滤器表达式(OSGi中常见),可以控制应将哪些捆绑配置到哪个节点。例如,可以仅在Web节点上安装(和激活)Web捆绑包。
对分布式服务的支持是not available out-of-the box。 ECF需要手动集成。