多个不同项目之间共享各自的数据库还是通过API获取数据,那种方式更好?

问题就如标题了。
一个项目A有自己的数据库,此时有另外一个项目B本身也有自己的数据,此时B想从A中获取部分的数据来支持自己的业务。
为啥有这种问题呢?我也纠结呢

  • 直接连数据库:方便,但是不安全,业务数据容易混乱

    • 建立链接后B项目自己码代码,就可以直接获取这部分数据来处理了
    • 但是B项目的人员不了解A业务可以随时处理A的数据,这个好可怕...,一崩全崩
  • API的话:不方便但是安全,业务划分更清晰

    • 又是签名,还需要提供接口进行对接
    • 安全啊,A提供啥B才能用啥可控
    • 项目之间各自业务清晰分工明确啊

我自己分析的还是会选择API,不晓得各位有啥高见

阅读 3.3k
2 个回答

当前主流的设计是 高内聚低耦合,每个服务或项目只做自己的事情,共享数据库虽然降低编程难度,但是增加了耦合性,容易牵一发而动全身。API 模式降低耦合,分工明确,虽然编程和运维成本上升,但是后期扩展和维护更容易。

RPC远程调用 · 走内网十分安全 签名都不用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题