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包内容。
当然这只是我单方面考虑出的问题,不知道还有没有更深层次的问题没有被我提出来。
第一次考虑这种情况的架构,不甚了解,希望前辈们能帮我多提提意见和建议
谢谢
@红薯
1.把A和B中共用的东西再抽出来
2.1-DataSource 一个DataSource为什么会有过多的jar?那肯定是有问题的
可以考虑使用RPC来架构。这样A-Project只需要关心调用的远程接口,而不用关心具体数据源。
具体调用过程类似下图
这种架构优点是,1.服务抽离出来,服务能够能好的被复用。
缺点是,1.数据库事务控制就很麻烦了,多数情况是不使用事务,而是给数据加中间状态来保持一致性。