我将以以下场景为例。某公司开发了一个部署在其客户端的组件A(该组件位于客户区域,该客户端可能不受公司信任)。组件需要访问存储在位于公司区域(受信任区域)的数据库服务器中的数据。该公司开发的核心模块之一是数据模型,使用Hibernate作为ORM。
一种方法是组件A直接依赖于数据模型模块并直接访问数据库(通过Hibernate)。第二种方法是间接访问数据库,使用一个中间模块作为组件A和数据库服务器的接口。
将组件直接连接到数据库服务器可能会出现哪些问题?使用API的优势是什么?你有什么建议吗?
谢谢
第二种方法通常称为3层或n层体系结构。有很多好处,其中最主要的是可伸缩性(通过将API模块分布在许多服务器甚至云上)、缓存、集中更新和版本管理、安全性等。在许多公司中,数据库与客户端机器之间存在防火墙,您甚至无法连接到它。问题是系统更复杂,需要开发和支持的组件更多等等。你应该谷歌n层架构了解更多细节,并判断它是否适合你。