1、共享数据库,共享数据架构
这是第三种方案,即租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。
优点:
三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。
缺点:
隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
数据备份和恢复最困难,需要逐表逐条备份和还原。
如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。
我们的CRM系统未来将以中低端市场为主,我们决定采用第三种方案,只要做好数据隔离就好了。
千万不可掉以轻心,SaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。
系统级:
使用HTTPS协议以SSL(Security Socket Layer)交换数据,增强通信安全;
通过数字签名防止传输过程篡改;
对用户身份识别的UserToken使用DES算法数据加密;
业务数据定时自动备份。
程序级:
完整的权限配置,包括功能权限和数据权限;
客户端输入校验,防止JS攻击、XSS攻击、SQL注入等;
辅助安全设计,比如密码控件、图片验证码、手机确认码等。
SAAS租户架构
最新推荐文章于 2024-09-13 23:05:53 发布