首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许在相同JVM中运行的同时进行模块化开发?

允许在相同JVM中运行的同时进行模块化开发?
EN

Stack Overflow用户
提问于 2010-03-14 20:43:18
回答 1查看 222关注 0票数 2

我们当前的应用程序运行在一个JVM中。

我们现在将应用程序划分为不同的逻辑服务,每个服务在各自的JVM中运行。

正在进行拆分,以便在不影响整个系统的情况下修改和部署单个服务。这减少了对整个系统QA的需求--只需要QA与被更改的服务的交互。

对于服务间通信,我们使用REST、MQ系统总线和数据库视图的组合。

我不喜欢的是:

  • REST意味着我们必须将数据编组到/从XML。
  • DB视图将系统耦合在一起,这违背了独立服务的整个概念。
  • MQ /系统总线增加了复杂性。
  • 服务之间不可避免地存在一些代码重复。
  • 您已经设置了n个JBoss服务器配置,我们必须做n个部署,n个设置脚本,等等。

是否有更好的方法来构造内部应用程序以允许模块化开发和部署,同时允许应用程序在单个JVM中运行(并实现相关的好处)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-14 20:58:14

我有点搞不懂你到底在问什么。如果将应用程序拆分为跨网络运行的不同服务,那么数据编组就必须发生在某个地方。

话虽如此,你调查过OSGi吗?您可以将不同的捆绑 (基本上是带有定义接口的附加元数据的jar文件)部署到同一个OSGi服务器中,并且服务器将透明地促进这些包之间的通信,因为所有东西都在同一个JVM中运行--也就是说,您像通常一样在不同的包中调用对象的方法。

OSGi服务器将允许在运行时卸载和升级包,如果遵守OSGi丛生命周期状态,应用程序应该正常运行(如果是降级的话)。

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

https://stackoverflow.com/questions/2443698

复制
相关文章

相似问题

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