首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于服务管理的Java开源框架

用于服务管理的Java开源框架
EN

Stack Overflow用户
提问于 2014-07-08 14:27:51
回答 1查看 116关注 0票数 0

在基于Java的大型分布式系统上工作,因此将在多台机器上运行多个服务.....

寻找能够管理这些服务的开源框架(例如,启动/停止服务,远程安装新服务等)

Apache Karaf看起来是个不错的选择,但实际上它使用的是apache felix (一个OSGi参考实现)包,我很难真正理解它。特别是,在felix中定义和注册服务似乎很容易,但是如何远程调用这样的服务呢?你需要一个单独的RPC机制来实现这一点吗?似乎很少有链接来描述它。一般来说,人们是如何使用OSGi的?Apache felix是不是过时了?

假设我有自己的RPC层(比如基于RMI或基于Netty ),有没有其他框架可以用来管理服务?

EN

回答 1

Stack Overflow用户

发布于 2014-07-09 00:45:34

我想您必须指定定义服务的方式。还有一些服务,比如使用RPC机制的远程服务,比如EJB远程调用。定义服务的另一种方法是使用SOAP(XML)或JAXRS(JSON)作为传输协议来谈论Web服务。在OSGi中有服务的定义,这意味着服务定义和实现的分离。总而言之,您可以将OSGi定义为同一VirtualMachine中的应用程序的面向服务的体系结构。(它提供了更多,但这是从服务的角度来看它的一种方式)

Apache Karaf是一个可与应用程序服务器相媲美的OSGi服务器,但它只适用于OSGi应用程序。它在一个可选的OSGi框架之上带来了许多方便的技术。要么是Apache Felix,要么是Eclipse Equinox。这两个都是在同一个OSGi中提供基本OSGi基础设施的SOA框架。

现在它还有很多其他的好处,比如启动和停止服务,更新服务。

考虑到RPC,这可以很容易地实现,例如,通过将OSGi-Services与CXF相结合。它可以很容易地配置为将OSGi服务导出为CXF服务。(这是非常特定于Karaf/CXF的)

Apache Karaf本身还支持使用Apache Karaf Cellar进行集群,Apache Karaf Cellar还提供了一个DOSGi服务,以便在群集组之间更轻松地通信服务。DOSGi代表分布式OSGi,这也可以通过使用CXF和许多其他实现来实现。

一般来说,Apache Felix和OSGi还远远没有过时。许多Java应用服务器使用OSGi作为其底层技术,以实现模块化和更小的占用空间。

那就是GlassFish、Websphere、Geronimo等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24625030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档