🥫🍞

软件架构的杂项记录

2022-09-20

传统软件架构:客户层、表现层、控制层、业务逻辑层、数据库层

客户层: 一般指客户端和浏览器

表现层: 将客户端的请求提交到业务层, 将控制层的返回的数据渲染展示给客户

控制层: 等同于 MVC 中的控制层。接受表现层的请求寻找相应的业务处理

业务逻辑层:实现业务逻辑

数据库层:存放和管理用户所使用的数据

传统软件架构:客户层、表现层、控制层、业务逻辑层、数据库层

多租户数据存储方案

  • 独立数据库

最便捷。物理上,每个租户都单独拥有自己的一整套数据,而且是单独存放。

具体来说,多个机器分别安装 MySQL 实例,每个企业使用单独一台机器。

  • 共享数据库,隔离数据架构

所有租户共同使用一个数据库,但是各自有各自的一套不同的数据表结构。

具体来说,单台机器安装 MySQL,可以通过不同的 schema (库)区分,也可以通过表名区分,例如:a_user, b_user

  • 共享数据库,共享数据架构

所有租户共享同一个数据表,同一个数据表结构,存储在同一模式中。

具体来说,将所有租户都记录在同一张表中,通过特定字段区分。例如,通过 TenantID 区别

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章