问题就如标题了。
一个项目A有自己的数据库,此时有另外一个项目B本身也有自己的数据,此时B想从A中获取部分的数据来支持自己的业务。
为啥有这种问题呢?我也纠结呢
-
直接连数据库:方便,但是不安全,业务数据容易混乱
- 建立链接后B项目自己码代码,就可以直接获取这部分数据来处理了
- 但是B项目的人员不了解A业务可以随时处理A的数据,这个好可怕...,一崩全崩
-
API的话:不方便但是安全,业务划分更清晰
- 又是签名,还需要提供接口进行对接
- 安全啊,A提供啥B才能用啥可控
- 项目之间各自业务清晰分工明确啊
我自己分析的还是会选择API,不晓得各位有啥高见
当前主流的设计是 高内聚低耦合,每个服务或项目只做自己的事情,共享数据库虽然降低编程难度,但是增加了耦合性,容易牵一发而动全身。API 模式降低耦合,分工明确,虽然编程和运维成本上升,但是后期扩展和维护更容易。