如何转化成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多租户模式相关推荐

  1. 作《互联网时代的软件革命--SaaS架构设计》上市了

    拙作<互联网时代的软件革命--SaaS架构设计>借CSDN举办的'软件开发2.0大会2008'的东风上市了.本书12月5日的签销也比较火爆. 本书官方网站:http://www.broad ...

  2. 什么是多租户saas架构设计

    本文来说下什么是多租户saas架构设计 文章目录 概述 多租户架构 多租户,多组织,用户区别 多租户和多组织 租户和用户 SaaS应用和PaaS平台的多租户 多租户架构设计和资源隔离 共享资源时候的资 ...

  3. 《SAAS 架构设计》读后感

    最近读了一下 <SAAS架构设计> 这本书,总体感觉这本书,还算可以,前面几章写的还不错,后面章节写的没有耐心. 整本书说的内容说的都比较简单,看了之后很多东西都没有印象,并且对于如果运营 ...

  4. 拙作《互联网时代的软件革命--SaaS架构设计》上市了

    拙作<互联网时代的软件革命--SaaS架构设计>借CSDN举办的'软件开发2.0大会2008'的东风上市了.本书12月5日的签销也比较火爆. 本书官方网站:http://www.broad ...

  5. SaaS架构设计之SaaS应用安全

    SaaS架构设计之SaaS应用安全 此文选自<互联网时代的软件革命-SaaS架构设计>一书 一日,杨康正与郭靖在办公室总结最近两个月公司的运行情况. 郭靖:最近的销售进展好像不是很理想? ...

  6. 彻底理解微商城多租户Saas架构设计

    彻底理解微商城多租户Saas架构设计 原文链接:https://blog.csdn.net/haponchang/article/details/104246317,感谢作者提供这么好的总结! 1.具 ...

  7. 迟到的书评:互联网时代的革命-SaaS架构设计

        3月2日,阿里巴巴发布公告称将于4月30日起关闭阿里软件互联平台并终止提供相关服务.公告显示,届时包括阿里软件社区.软件互联平台.软件开发平台在内的各项服务和功能将不可使用,相关数据和信息可能 ...

  8. mybatis 多租户saas_彻底理解微商城多租户Saas架构设计

    原文链接:https://blog.csdn.net/haponchang/article/details/104246317,感谢作者提供这么好的总结! 1.具体的SaaS架构必须 1.先仔细选择最 ...

  9. 《SaaS架构设计》试读:前 言

     SaaS源于一种简单的思想:软件即服务!但SaaS的出现彻底改变了人们对软件的观念,使用软件的人从产品消费者转换为服务消费者,而开发软件的人从产品提供者转换为服务提供者.当然,SaaS带来的改变不仅 ...

  10. php saas 架构设计,SaaS的几种架构解析

    SAAS成熟度模型分级 LEVEL1 定制开发 软硬件都由SAAS服务商提供,软件的使用者只需要按时间.用户数.空间等逐步支付租赁使用费用即可 LEVEL2 可配置 通过不同的配置满足不同用户的需求, ...

最新文章

  1. maven学习(中)- 私服nexus搭建
  2. 全云端万能小程序_万能门店全云端独立版微信小程序源码V4.0.10,全五端源码下载...
  3. Spring Boot 2.X 使用@Cacheable时注意事项
  4. where used list repository table WBCROSSGT
  5. 存钱吃利息存邮政储蓄好还是农业银行好?
  6. java解析c语言的结构体,JAVA中如何实现C中的结构体数组的功能?
  7. Redis企业级数据备份与恢复方案
  8. CSP202006-2 稀疏向量(100分)【map】
  9. C#:抽象类和抽象函数, 密封类和密封方法(抄录自LilianChen)
  10. iphone 3G 刷机到3.12
  11. mysql的应用_mysql应用场景
  12. eclipse插件下载最新地址
  13. intouch负值显示0_InTouch常见问题
  14. 马克思主义哲学与计算机专业的关系,以科学技术哲学来分析与自然辨证法的统一关系...
  15. 问题解决 | 黑金AX7020使用Petalinux定制Linux系统遇到的坑
  16. Flowable实战-Camel使用
  17. 牛逼了!Python代码补全利器,提高效率告别996!
  18. 高级Java工程师年薪有多少 需要具备哪些能力
  19. 大话Java反射机制
  20. PCB工程师设计宝典:一般PCB基本设计流程

热门文章

  1. Android透明状态栏设置
  2. 【C#】开发可以可视化操作的windows服务
  3. Problem 2128 最长子串
  4. solr处理oracle中CLOB、BLOB
  5. WinDbg / SOS Cheat Sheet
  6. STL之list介绍
  7. 33.前端之css2
  8. Minimum Size Subarray Sum (二分)
  9. 用户态处理arp、ndisc neighbour solication 报文
  10. easyui-treegrid的案例