网易首页 > 网易号 > 正文 申请入驻

多租户Saas架构设计分析(实践篇)

0
分享至

  具体的SaaS架构必须:

  1.先仔细选择最适合应用程序需求的租户模型,

  2.需要根据租户模型来选定最终的架构,即应用程序设计和管理、每个租户的数据如何映射到存储等等。

  避免因租户模型的切换而付出昂贵的代价。

  租户模型 --》 应用程序设计 + 数据设计方案

  影响租户模型的相关因素包括:

  可扩展性(Scalability)

  租户的数量级

  每个租户的存储级别

  整体存储

  工作负载

  租户隔离性(Tenant isolation)

  数据隔离和性能(是否一个租户的负载会影响到其他租户)

  单租户成本(Per-tenant cost)

  数据库成本

  开发复杂度(Development complexity)

  数据结构的变化

  查询语句的变化

  运维复杂度(Operational complexity)

  性能监控

  数据结构schema管理

  租户数据恢复

  灾备

  可定制化程度(Customizability)

  根据租户的需求自定义架构的容易程度

  这个租户的讨论集中在数据层。但考虑一下应用层。应用程序层被视为一个整体实体。如果将应用程序划分为许多小型组件,您的租户模型选择可能会发生变化。对于租户和存储技术或使用的平台,您可以对其他组件进行不同的处理。

  常见的架构模式有以下几种:

  这个模型中,应用层和数据层都是隔离的。

  应用程序的每个实例都是独立实例。

  租户拥有自己独立的数据库,每个应用程序实例只需要一个数据库。

  对租户的管理独立于系统之外,对于每一个租户,整个应用程序需要重复安装一次。供应商都可以为租户管理软件。每个应用程序实例都配置为连接到其相应的数据库。

  优点:为不同的租户提供独立的应用实例和数据库,有助于简化数据模型和业务模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复系统或数据均比较简单,系统间也不会相互影响。

  问题:数据库层面,每个租户数据库都作为独立数据库进行部署。该模型提供了最大的数据库隔离。但隔离需要为每个数据库分配足够的资源来处理其高峰负载。这里重要的是, 弹性池不能用于部署在不同资源组或不同订阅中的数据库。这种限制使得这种独立的单租户应用程序模型成为从整体数据库成本角度来看最昂贵的解决方案;应用层面,每个租户若存在个性化定制,则需要对项目进行横向扩展,扩展时务必需要保证与主干版本的兼容性问题。运维层面,应用和数据库的安装数量会随租户的数量线性递增,随之带来维护成本和购置成本的增加。

  这个模型中,应用层是共享的,数据层都是隔离的。

  应用程序仅部署一套,所有租户实例共享。

  租户仍拥有自己独立的数据库,应用程序需对接多个租户的数据库。

  对租户的管理由配置中心(Config Server)管理,配置中心提供了配置,监视和管理共享所需的功能,供应商使用这些工具为租户管理软件。对于每一个租户,整个应用程序仅需要安装一次,应用程序实际请求结合配置中心请求相应的数据库。

  优点:为不同的租户提供独立数据库,有助于简化数据模型扩展设计,满足不同租户的独特需求;如果出现故障,数据恢复均比较简单,也可以自动将单个租户恢复到较早的时间点。因为恢复只需要恢复存储租户的一个单租户数据库。这种恢复对其他租户没有影响,这证实了管理运营处于每个租户的细粒度级别。应用层面的维护成本和购置成本有所减少。

  问题:数据库层面,同模型一;应用层面,每个租户若存在个性化定制,则需要对项目进行横向扩展,扩展时务必需要保证与主干版本的兼容性问题。运维层面,数据库的运维问题同模式一,应用层面的运维在版本控制的问题上难度有所增加。

  这个模型中,应用层是共享的,数据库共享,但数据是隔离的。

  应用程序和数据库仅部署一套,所有租户共享。

  多个或所有租户共享Database,也就是说共同使用一个数据库,但是每个租户一个Schema(也可叫做一个user),使用表进行数据隔离数据库。底层库比如是:DB2、ORACLE等,一个数据库下可以有多个SCHEMA。

  应用程序需对接多个租户的数据库。

  对租户的管理由配置中心(Config Server)管理,同模式二。

  优点:为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可支持更多的租户数量。

  问题:数据库层面,如果出现故障,数据恢复比较困难,因为恢复数据库将牵涉到其他租户的数据;应用层面,配置中心需要对租户信息进行完整且合理的分配和维护。

  模型与模型三的差别在于共享数据库,共享 Schema,共享数据表。也就是说共同使用一个数据库一个表使用字段进行数据隔离。如表中增加TenantID多租户的数据字段。这是共享程度最高、隔离级别最低的模式。

  简单来讲,即每插入一条数据时都需要有一个客户的标识。这样才能在同一张表中区分出不同客户的数据,这也是我们系统目前用到的(tenant_id)。

  优点:方案的维护和购置成本低,允许每个数据库支持的租户数量最多。

  缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;数据备份和恢复最困难,需要逐表逐条备份和还原。

  模式五与之前的模式的最大区别是,在原有的web Service进行细化拆分,优化成 网关+前台+中台+数据存储的模式。

  网关用于接收租户的请求,并发送给前台。

  前台的数量与租户一致,每一个租户对应一个前台服务,方便针对租户进行个性化定制。

  中台负责提供处理所有的业务请求,中台不关心租户是谁,将重心关注在业务的处理上。配置中心用于配置租户的接口权限、流程定制等相关配置信息。结合业务逻辑返回给前台特定租户的相关信息。

  数据库模式参考模式四。

  优点:有利于定制不同租户的个性化需求。例如:交互界面不同、工作流不同等等。

  服务只需要根据用户需求在前台做相应的横向扩展即可;

  不同租户间服务相互独立,互不影响。

  缺点:模块划分需要做好划分,重点注重业务之间的低耦合;

  调用链路变长,需要做一定的优化处理;

  模块纵向拆分后,后期研发和运维难度均会有所增加;

  扛住100 亿次请求的网站架构设计

  一个单机架构的14次演进之路(内含示意图)

  重磅发布-远行云梯DevOps开放试用

  万字长文带你入门Istio

  图解:电商支付架构设计

  免责声明:

  本公众号部分分享的资料来自网络收集和整理,所有文字和图片版权归属于原作者所有,且仅代表作者个人观点,与本公众号无关,文章仅供读者学习交流使用,并请自行核实相关内容,如文章内容涉及侵权,请联系后台管理员删除。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
勇士快船裁判报告:3次漏判均对勇士不利

勇士快船裁判报告:3次漏判均对勇士不利

OnFire
2024-11-20 09:45:14
极端事情频繁发生,成都一外卖小哥,因被要求挪车杀害司机丈夫!

极端事情频繁发生,成都一外卖小哥,因被要求挪车杀害司机丈夫!

你食不食油饼
2024-11-19 16:04:57
价值60亿美元!马斯克将所有AI服务器订单由超微电脑转向戴尔

价值60亿美元!马斯克将所有AI服务器订单由超微电脑转向戴尔

芯智讯
2024-11-19 22:39:14
公公住院儿媳陪床,他趁护士换药塞纸条,护士看后直接报警

公公住院儿媳陪床,他趁护士换药塞纸条,护士看后直接报警

青丝人生
2024-05-22 20:16:41
俄罗斯核学说更新当天就被“踩红线”,普京将如何回应?

俄罗斯核学说更新当天就被“踩红线”,普京将如何回应?

财联社
2024-11-19 20:34:08
女子打碎茶杯被逼赔5000,笑着付款离开,老板:糟了快追

女子打碎茶杯被逼赔5000,笑着付款离开,老板:糟了快追

纪实录
2024-11-03 21:40:06
36E,饱满迷人水蜜桃,完美腰臀比,好身材是隐藏不住的!

36E,饱满迷人水蜜桃,完美腰臀比,好身材是隐藏不住的!

打麻将的仔
2024-11-19 08:05:51
印尼雅加达首都地位被取消,政府明年开始搬迁至新首都,完全建成还需21年

印尼雅加达首都地位被取消,政府明年开始搬迁至新首都,完全建成还需21年

极目新闻
2024-11-20 12:21:23
2024年11月起,1.6亿老人将调整养老金,来看看有你吗?能发多少

2024年11月起,1.6亿老人将调整养老金,来看看有你吗?能发多少

巢客HOME
2024-11-20 06:40:02
谢逸枫:颤抖吧!前10月全国土地收入直线下滑堪称断崖式暴跌

谢逸枫:颤抖吧!前10月全国土地收入直线下滑堪称断崖式暴跌

谢逸枫看楼市
2024-11-20 14:17:19
日媒:韦世豪=国足最强之人!3项能力突出 经常恶劣犯规染红

日媒:韦世豪=国足最强之人!3项能力突出 经常恶劣犯规染红

叶青足球世界
2024-11-19 15:17:26
为什么广西人均收入3000,却很多人每天啤酒烧烤又洗脚,享受生活

为什么广西人均收入3000,却很多人每天啤酒烧烤又洗脚,享受生活

滑稽斑马呀
2024-11-20 09:47:11
第六次到访中国,这位女总理此行“不一般”

第六次到访中国,这位女总理此行“不一般”

人民网
2024-11-20 10:21:08
就在今天,77年NBA历史独一无二的纪录,被福克斯达成了

就在今天,77年NBA历史独一无二的纪录,被福克斯达成了

爱论历史
2024-11-20 09:05:02
越野跑第二名因“光膀子”比赛被取消成绩?赛事方:已经两次警告,流程没问题

越野跑第二名因“光膀子”比赛被取消成绩?赛事方:已经两次警告,流程没问题

上游新闻
2024-11-19 18:15:17
福建舰第五次海试,引发外媒高度关注!美媒:中国核航母时代来了

福建舰第五次海试,引发外媒高度关注!美媒:中国核航母时代来了

猎火照狼山
2024-11-20 00:05:02
伊朗拒绝购买俄罗斯防空系统:根本无法击退以色列的导弹攻击!

伊朗拒绝购买俄罗斯防空系统:根本无法击退以色列的导弹攻击!

大风文字
2024-11-19 17:37:05
穿着短裙出门,男朋友偷拍我的裙底,告诉我穿裙子不安全…

穿着短裙出门,男朋友偷拍我的裙底,告诉我穿裙子不安全…

热闹的河马
2024-11-20 01:11:56
SpaceX 星舰第六次试飞成功,超重型助推器完成软溅落

SpaceX 星舰第六次试飞成功,超重型助推器完成软溅落

IT之家
2024-11-20 07:34:08
一群城管和辅警居然被一句话吓退了

一群城管和辅警居然被一句话吓退了

清晖有墨
2024-11-20 12:49:24
2024-11-20 15:15:00
IT架构师联盟
IT架构师联盟
IT架构实战分享
710文章数 7653关注度
往期回顾 全部

科技要闻

星舰第六次试飞,飞船成功溅落印度洋

头条要闻

男孩玩滑板被倒车装载机碾压身亡 涉事司机暂被控制

头条要闻

男孩玩滑板被倒车装载机碾压身亡 涉事司机暂被控制

体育要闻

结束最后一舞,纳达尔职业生涯落幕

娱乐要闻

一夜被骂三万次!李庚希拿下影后

财经要闻

专家称我国还缺1亿套保障房

汽车要闻

后排够大 智能化提升 全新探岳L是你的菜么?

态度原创

游戏
手机
健康
时尚
教育

ZOFGK的理想主义最终还是敌不过现实

手机要闻

反正超AI玩!ROG游戏手机9系列新品正式发布!

花18万治疗阿尔茨海默病,值不值?

哪些小事切实提高了我的生活质量?

教育要闻

海纳百川聚英才 | 中国教育科学研究院2025年公开招聘启动

无障碍浏览 进入关怀版