如何分离两个相关的应用程序?

时间:2015-10-14 12:00:03

标签: architecture osgi system n-tier-architecture

我有一个后端平台,可以为两个不同的前端应用程序提供服务。一个是非常复杂的应用程序(应用程序A),具有较小的用户群和许多相互依赖的过程,而另一个应用程序(应用程序B)具有更大的用户群,但更简单,并且具有更少的相互依赖的过程。

后端平台基于微服务架构,例如会话处理(登录访问)由单独的进程处理,所有出站通道都是单独的进程,入站通道是单独的进程。每个应用程序也是一个过程。设计是3层,带有osgi插件。

管理层正在考虑将应用A与B分离,以便发布规划和部署更加灵活,成本更加透明。

服务器上的应用程序共享一些基本内容,例如会话处理(例如能够登录)和微服务的架构(容错等)。客户端应用程序还共享一些代码,如图逻辑等。应用程序A和B共享同一个数据库。

分离这两个应用程序的最佳实践方法是什么?理想情况下,应用程序A不应受到影响。

1 个答案:

答案 0 :(得分:0)

我可以设想的一个解决方案是Fork and Merge策略。

应用程序B需要的平台插件已定义并基线化,并成为最小平台。危害应用程序B的业务逻辑插件使用最小平台进行部署。对平台的任何重要更改都会合并回最小平台。数据库也将被拆分。有没有人看到这个策略存在任何缺陷,或者有更好的想法?