是否有任何提供OSGi容器作为服务的Java PaaS解决方案?
如果不是一个成熟的PaaS,只是一个可集群/可扩展的OSGi主机。谷歌什么都没有,所以我假设没有这样的东西。提前谢谢!
答案 0 :(得分:5)
(与其他答案相反:) 否,云中没有OSGi即服务。
我目前正在撰写关于在PaaS上移植OSGi应用程序的硕士论文,所以我自己研究了PaaS和OSGi。我没有在云中找到任何基于OSGi的令人满意的解决方案(但我确实找到了其他解决方案;)。问题在于OSGi非常不受欢迎,而且云是众所周知的时尚。
正如提到的其他问题,OSGi是一个Java库。因此,您可以在支持Java的任何地方进行设置。但这更像是一种IaaS解决方案作为PaaS解决方案(您似乎在寻找OSGi即服务)。您需要自己设置OSGi框架,并且不支持部署bundle。这几乎退化了这个解决方案。所以不,OSGi没有特别的云提供,尽管Java有很多。
然而,O'Reilly出版的Paul Baker和Bert Ertman出版了一本名为 模块化云应用程序与OSGi 的好书。该书描述了他们在云中使用OSGi的类似PaaS的解决方案。基本上设置了OSGi包的存储库,它们存储了所有的东西。然后他们创建了一个云图像,它只包含一个空的OSGi框架/服务器(就像Apache Karaf一样,但他们编写了自己的工具,名为Apache ACE,原因是什么......)。他们能够启动这些映像,一旦机器启动,他们就会将捆绑包从其存储库部署到实例(通过Web界面)。
在youtube上还有他们演示的视频:https://www.youtube.com/watch?v=oN3jYKOQ1Tk
我认为这种策略是您可以获得的最佳PaaS解决方案。但是 - 不幸的是 - 开箱即用的任何云供应商都不支持这一点。但你可以很容易地设置它(例如)亚马逊。
还有一个用于Cloud Foundry的Build Pack来设置可以运行OSGi应用程序的Virgo服务器:https://github.com/glyn/virgo-buildpack
答案 1 :(得分:1)
看看Gyrex。它还不是一项服务,但可用于构建您自己的OSGi PaaS集群。它使用Equinox,p2进行配置和Jetty。
免责声明:我是一名提交者,也是重度用户。
答案 2 :(得分:1)
有一个OSGi云服务的商业提供商 - Paremus。他们有2个云产品--Nimble和Service Fabric。你可能想看看它们。 Nimble产品有限免费版供试用。
答案 3 :(得分:0)
OSGi几乎可以在任何提供Java支持的云提供商上使用,因为它基本上只是一个Java库。
例外情况是谷歌应用引擎,因为他们不仅修改Jetty,他们修改Java本身并删除创建线程和类加载器的能力,这两者都是完全支持OSGi所必需的。
答案 4 :(得分:0)
OSGi基本上是一个可以在具有JDK / JRE支持的虚拟机上运行的Java库。但请记住一件事,开箱即用的支持是您正在寻找的,您需要自定义您选择运行您的应用程序的PaaS。我认为要做到这一点,您需要选择最容易配置和扩展的提供程序。试试Jelastic。这是最容易掌握和开始的。检查他们的jar uploads,我认为这足以满足您的需求 让我知道你的想法,以及这个答案是否有任何帮助 苏里亚