2
回答
【项目架构】多终端的项目如何在技术上进行前后台分离
注册华为云得mate10,2.9折抢先购!>>>   
是这样的,我们公司的一个项目涉及到很多的终端或是关联项目,大概有五六个项目之多,这些项目之间存在项目调用的关系,我们就想将所有的数据库(3个),针对每个库做套数据层项目,为每个需要引用的项目直接引入jar(maven)的方式解决,以达到减少不必要的开发

A-Project  ---> 1-DataSource
B-Project ----> 1-DataSource、2-DataSource

优点:项目之间的依赖直接使用maven管理,感觉在大方向没有什么问题,也没有很深入的技术难点需要攻克。使用jar包的方式不会占用更多的网络资源(WebService)

缺点:
1.我们系统中使用spring管理,如果我的B-Project需要引入两个数据源,我要为配置文件增加1-DataSource和2-DataSource的配置。
2.如果我的B-Project只是使用1DataSource中的极少数的方法,却要因为我的这种架构而引入过多的jar包内容。

当然这只是我单方面考虑出的问题,不知道还有没有更深层次的问题没有被我提出来。
第一次考虑这种情况的架构,不甚了解,希望前辈们能帮我多提提意见和建议

谢谢

@红薯 

举报
Lindp
发帖于3年前 2回/1K+阅
共有2个答案 最后回答: 3年前

1.把A和B中共用的东西再抽出来

2.1-DataSource  一个DataSource为什么会有过多的jar?那肯定是有问题的

--- 共有 1 条评论 ---
Lindp不是一个DataSource有多个jar,而是一个jar有一个DataSource。 如果我需要引入两个jar,那我就需要在B-Project中配置两个数据源 3年前 回复

可以考虑使用RPC来架构。这样A-Project只需要关心调用的远程接口,而不用关心具体数据源。

具体调用过程类似下图


这种架构优点是,1.服务抽离出来,服务能够能好的被复用。

缺点是,1.数据库事务控制就很麻烦了,多数情况是不使用事务,而是给数据加中间状态来保持一致性。


顶部