SaaS架构设计之如何转化成SaaS多租户模式
SaaS虽好,但怎么样才能转化成SaaS多租户应用?从技术的角度分析需要改造哪些地方?带着这些疑问,郭靖去找他的导师洪七公。
洪七公:SaaS现在已成为一股潮流,它将颠覆传统的软件交付方式,你们的产品打算走SaaS路线,我非常支持。
洪七公:其实从架构层面来分析,SaaS区别于传统技术的重要差别就是Multi-Tenant模式……
郭靖:Multi-Tenant?多租户?
洪七公:是的,多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,说到底就是如何解决数据存储的问题。
郭靖:哦,隔离?共享?
洪七公:现在SaaS Multi-Tenant在数据存储上存在三种主要的方案,分别是——
方案一:独立数据库
这是第一种方案,即一个Tenant一个Database(见图3-14),这种方案的用户数据隔离级别最高,安全性最好,但成本也高。
优点:
为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;
如果出现故障,恢复数据比较简单。
缺点:
增大了数据库的安装数量,随之带来维护成本和购置成本的增加。
这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。
方案二:共享数据库,隔离数据架构
这是第二种方案,即多个或所有租户共享Database,但一个Tenant一个Schema。
优点:
为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;
每个数据库可以支持更多的租户数量。
缺点:
如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;
如果需要跨租户统计数据,存在一定困难。
方案三:共享数据库,共享数据架构
这是第三种方案,即租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。
优点:
三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。
缺点:
隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
数据备份和恢复最困难,需要逐表逐条备份和还原。
如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。
郭靖:老师,我明白了。我们的CRM系统未来将以中低端市场为主,我们决定采用第三种方案,只要做好数据隔离就好了。
洪七公:千万不可掉以轻心,SaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。
系统级:
使用HTTPS协议以SSL(Security Socket Layer)交换数据,增强通信安全;
通过数字签名防止传输过程篡改;
对用户身份识别的UserToken使用DES算法数据加密;
业务数据定时自动备份。
程序级:
完整的权限配置,包括功能权限和数据权限;
客户端输入校验,防止JS攻击、XSS攻击、SQL注入等;
辅助安全设计,比如密码控件、图片验证码、手机确认码等。
郭靖:我知道该怎么去做了,谢谢老师指点!
预购买地址:http://www.china-pub.com/129900
SaaS架构设计之如何转化成SaaS多租户模式相关推荐
- 作《互联网时代的软件革命--SaaS架构设计》上市了
拙作<互联网时代的软件革命--SaaS架构设计>借CSDN举办的'软件开发2.0大会2008'的东风上市了.本书12月5日的签销也比较火爆. 本书官方网站:http://www.broad ...
- 什么是多租户saas架构设计
本文来说下什么是多租户saas架构设计 文章目录 概述 多租户架构 多租户,多组织,用户区别 多租户和多组织 租户和用户 SaaS应用和PaaS平台的多租户 多租户架构设计和资源隔离 共享资源时候的资 ...
- 《SAAS 架构设计》读后感
最近读了一下 <SAAS架构设计> 这本书,总体感觉这本书,还算可以,前面几章写的还不错,后面章节写的没有耐心. 整本书说的内容说的都比较简单,看了之后很多东西都没有印象,并且对于如果运营 ...
- 拙作《互联网时代的软件革命--SaaS架构设计》上市了
拙作<互联网时代的软件革命--SaaS架构设计>借CSDN举办的'软件开发2.0大会2008'的东风上市了.本书12月5日的签销也比较火爆. 本书官方网站:http://www.broad ...
- SaaS架构设计之SaaS应用安全
SaaS架构设计之SaaS应用安全 此文选自<互联网时代的软件革命-SaaS架构设计>一书 一日,杨康正与郭靖在办公室总结最近两个月公司的运行情况. 郭靖:最近的销售进展好像不是很理想? ...
- 彻底理解微商城多租户Saas架构设计
彻底理解微商城多租户Saas架构设计 原文链接:https://blog.csdn.net/haponchang/article/details/104246317,感谢作者提供这么好的总结! 1.具 ...
- 迟到的书评:互联网时代的革命-SaaS架构设计
3月2日,阿里巴巴发布公告称将于4月30日起关闭阿里软件互联平台并终止提供相关服务.公告显示,届时包括阿里软件社区.软件互联平台.软件开发平台在内的各项服务和功能将不可使用,相关数据和信息可能 ...
- mybatis 多租户saas_彻底理解微商城多租户Saas架构设计
原文链接:https://blog.csdn.net/haponchang/article/details/104246317,感谢作者提供这么好的总结! 1.具体的SaaS架构必须 1.先仔细选择最 ...
- 《SaaS架构设计》试读:前 言
SaaS源于一种简单的思想:软件即服务!但SaaS的出现彻底改变了人们对软件的观念,使用软件的人从产品消费者转换为服务消费者,而开发软件的人从产品提供者转换为服务提供者.当然,SaaS带来的改变不仅 ...
- php saas 架构设计,SaaS的几种架构解析
SAAS成熟度模型分级 LEVEL1 定制开发 软硬件都由SAAS服务商提供,软件的使用者只需要按时间.用户数.空间等逐步支付租赁使用费用即可 LEVEL2 可配置 通过不同的配置满足不同用户的需求, ...
最新文章
- maven学习(中)- 私服nexus搭建
- 全云端万能小程序_万能门店全云端独立版微信小程序源码V4.0.10,全五端源码下载...
- Spring Boot 2.X 使用@Cacheable时注意事项
- where used list repository table WBCROSSGT
- 存钱吃利息存邮政储蓄好还是农业银行好?
- java解析c语言的结构体,JAVA中如何实现C中的结构体数组的功能?
- Redis企业级数据备份与恢复方案
- CSP202006-2 稀疏向量(100分)【map】
- C#:抽象类和抽象函数, 密封类和密封方法(抄录自LilianChen)
- iphone 3G 刷机到3.12
- mysql的应用_mysql应用场景
- eclipse插件下载最新地址
- intouch负值显示0_InTouch常见问题
- 马克思主义哲学与计算机专业的关系,以科学技术哲学来分析与自然辨证法的统一关系...
- 问题解决 | 黑金AX7020使用Petalinux定制Linux系统遇到的坑
- Flowable实战-Camel使用
- 牛逼了!Python代码补全利器,提高效率告别996!
- 高级Java工程师年薪有多少 需要具备哪些能力
- 大话Java反射机制
- PCB工程师设计宝典:一般PCB基本设计流程