新零售SaaS架构:多租户系统架构设计(1)

简介: 新零售SaaS架构:多租户系统架构设计

新零售SaaS架构:多租户系统架构设计

技术琐话 2022-11-27 12:05 发表于陕西

以下文章来源于汤师爷说,作者汤师爷

什么是多租户?

多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。多租户技术是一种软件架构技术,可以实现多个租户共享系统实例,并且租户间能够实现数据与行为的隔离。

传统软件模式 VS SaaS模式

传统软件项目一般是指,面向客户开发一套特定的软件系统,并部署在独立的环境中,通常是企业内部环境。而SaaS模式,是将软件服务部署到云端环境,可以面向不同的客户提供相同的软件服务。

SaaS多租户隔离模式

对于SaaS模式,多租户间的资源隔离是非常基础的能力,出于成本和运营效率考虑,SaaS服务商需要构建多租户可同时访问软件的环境,不同租户虽然访问同一套SaaS产品服务,但资源访问需要严格隔离开。

SaaS资源隔离包含几个层次:

  • 第一层是SaaS系统底层所涉及到的计算、存储、网络等资源的隔离。
  • 第二层是系统基础数据的隔离,主要包括组织,用户,角色,权限,产品能力授权关系等。
  • 第三层是系统使用过程中,各类业务动态数据的隔离,例如业务单据、操作记录等。

多租户架构主要是解决第一层的隔离问题,即计算、存储、网络等资源的隔离。为了实现多租户隔离架构,我们先要搞清楚常见的几种多租户隔离模式。

竖井隔离模式

有些SaaS服务商会选择竖井隔离模式,即每个租户都运行在隔离的一套资源中。有人会说,这不就是传统软件模式吗,为什么会是SaaS模式呢?但如果这些竖井式的资源,拥有标准化的租户身份识别、入驻流程、计费体系、部署流程、运营流程,那边它依然是SaaS模式,只不过每个客户都有一套端到端的基础设施。

优势
  • 满足强隔离需求:一些客户为了系统和数据的安全性,可能提出非常严格的隔离需求,期望软件产品能够部署在一套完全独立的环境中,不和其他租户的应用实例、数据放在一起。
  • 计费逻辑简单:SaaS服务商需要针对租户使用资源进行计费,对于复杂的业务场景,计算、存储、网络资源间的关系同样也会非常复杂,计费模型是很有挑战的,但在竖井模式下,计费模型相对来说是比较简单的。
  • 降低故障影响面:因为每个客户的系统都部署在自己的环境中,如果其中一个环境出现故障,并不会影响其他客户使用软件服务。
劣势
  • 规模化问题:由于租户的SaaS环境是独立的,所以每入驻一个租户,就需要创建和运营一套SaaS环境,如果只是少量的租户,还可能可以管理,但如果是成千上万的租户,管理和运营这些环境将会是非常大的挑战。
  • 成本问题:每个租户都有独立的环境,花费在单个客户上的成本将非常高,会大幅削弱SaaS软件服务的盈利能力。
  • 敏捷迭代问题:SaaS模式的一个优势是能够快速响应市场需求,迭代产品功能。但竖井隔离策略会阻碍这种敏捷迭代能力,因为更新、管理、支撑这些租户的SaaS环境,会变得非常复杂和低效。
  • 系统管理与监控:在同一套环境中,对部署的基础设施进行管理与监控,是较为简单的。但每个租户都有独立的环境,在这种非中心化的模式下,对每个租户的基础设施进行管理与监控,同样也是非常复杂、困难的。

共享模式

相信很多SaaS服务商会优先选择共享模式,即多租户共享一套基础设施资源,这样能让SaaS软件服务更加高效、敏捷、低成本。

优势
  • 高效管理:在共享策略下,能够集中化地管理、运营所有租户,管理效率非常高。同时,对基础设施配置管理、监控,也将更加容易。相比竖井策略,产品的迭代更新会更快。
  • 成本低:SaaS服务商的成本结构中,很大一块是基础设施的成本。在共享模型下,服务商可以根据租户们的实际资源负载情况,动态伸缩系统,这样基础设施的利用率将非常高。
劣势
  • 租户相互影响:由于所有租户共享一套资源,当其中一个租户大量占用机器资源,其他租户的使用体验很可能受到影响,在这种场景下,需要在技术架构上设计一些限制措施(限流、降级、服务器隔离等),让影响面可控。
  • 租户计费困难:在竖井模型下,非常容易统计租户的资源消耗。然而,在共享模型下,由于所有租户共享一套资源,需要投入更多的精力统计单个租户的合理费用。

分域隔离模式

传统大企业更喜欢私有化部署、个性化交付的传统模式,因为他们需要更强的管控和更高的安全性。然而,中小企业付费能力有限,需求往往也更加标准化,所以更喜欢价格更低的、订购更简单的SaaS产品。为了满足不同客户的需求,还有一种混合了竖井模型与共享模型的模式,即分域隔离模式。在该模式下,会细分基础域、专用域,基础域是使用共享模型,所有租户共享一套资源;而专用域是使用竖井模型,每个租户都有独立的资源环境。对于大多数中小客户来说,他们都是在基础域环境使用SaaS产品,只有少量的大客户会在专用域使用SaaS产品,通常他们付费能力强,有强烈的强隔离需求。但需要注意的是,为了避免多套产品版本出现,SaaS服务商需要保证基础域、专用域的产品版本一致,个性化的部分尽可能通过构建PaaS平台,让ISV参与建设。否则,一旦SaaS产品的标准化程度降低,后续各版本的维护将变成灾难。

多租户系统的定位

了解各种多租户隔离模式后,我们来总结下多租户系统的定位。多租户系统是为了满足多用户使用一套产品,并实现用户间的数据与行为隔离,但根据用户需求不同,可以共享或隔离软硬件资源,系统架构上能够灵活支持多种隔离模式。

多租户系统需要具备的能力

  • 多个租户支持共享一套云资源,如计算、存储、网络资源等。单个租户也可以独占一套云资源。
  • 多个租户间能够实现数据与行为的隔离,能够对租户进行分权分域控制。
  • 租户内部能够支持基于组织架构的管理,可以对产品能力进行授权和管理。
  • 不同的产品能力可以根据客户需求,支持运行在不同的云资源上。


相关文章
|
7月前
|
前端开发 JavaScript Java
智能客服系统的技术栈解析-唯一客服系统技术架构优势
“唯一客服系统”采用 Vue.js 2.x + ElementUI 构建前端,实现响应式界面,支持多端适配;后端基于 Golang + Gin + GORM,具备高性能与高并发处理能力。系统支持私有化部署,提供灵活定制、AI 扩展能力,技术栈简洁易维护,兼顾开发者友好与企业级应用需求。
342 1
|
5月前
|
SQL Oracle 关系型数据库
19c多租户架构下的UNDO管理- Local Undo
Oracle 12c引入多租户架构,PDB共享CDB的UNDO表空间。19c新增Local Undo特性,支持各PDB独立管理UNDO,提升性能、隔离性与可管理性,且为热克隆、PDB迁移等高级功能的前提。建议19c环境启用Local Undo。
|
9月前
|
供应链 JavaScript 前端开发
Java基于SaaS模式多租户ERP系统源码
ERP,全称 Enterprise Resource Planning 即企业资源计划。是一种集成化的管理软件系统,它通过信息技术手段,将企业的各个业务流程和资源管理进行整合,以提高企业的运营效率和管理水平,它是一种先进的企业管理理念和信息化管理系统。 适用于小微企业的 SaaS模式多租户ERP管理系统, 采用最新的技术栈开发, 让企业简单上云。专注于小微企业的应用需求,如企业基本的进销存、询价,报价, 采购、销售、MRP生产制造、品质管理、仓库库存管理、财务应收付款, OA办公单据、CRM等。
543 23
|
8月前
|
人工智能 自然语言处理 语音技术
2025年国内主流智能客服系统:技术架构与能力深度解析
本文分析了2025年国内智能客服市场的技术格局与系统能力,从核心技术栈(NLP、知识图谱、语音技术等)到市场梯队划分,深入探讨了第一梯队的综合型平台和第二梯队的场景化服务。以合力亿捷为例,剖析其端到端AI技术栈、大模型融合、全渠道融合及运营优化能力,并对比国际顶尖通用AI在语义理解、多模态交互和自主学习方面的启示。最后为企业提供选择智能客服系统的五大考量因素,强调技术与业务场景的深度融合,助力企业实现更高效、智能的客户服务体验。
1731 2
|
存储 运维 安全
SaaS多租户和单租户的区别解析
SaaS多租户的系统维护成本低,多租户系统在升级时,只需要更新一次,维护人员不需要对每个用户更新,节省了很大的运维成本,这对于所有客户都在做同样事情的系统来说是很有用的。
661 3
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
5182 4
|
11月前
JeecgBoot架构图 ● 技术架构图 ● 系统架构图
JeecgBoot架构图 ● 技术架构图 ● 系统架构图
|
11月前
|
运维 供应链 前端开发
中小医院云HIS系统源码,系统融合HIS与EMR功能,采用B/S架构与SaaS模式,快速交付并简化运维
这是一套专为中小医院和乡镇卫生院设计的云HIS系统源码,基于云端部署,采用B/S架构与SaaS模式,快速交付并简化运维。系统融合HIS与EMR功能,涵盖门诊挂号、预约管理、一体化电子病历、医生护士工作站、收费财务、药品进销存及统计分析等模块。技术栈包括前端Angular+Nginx,后端Java+Spring系列框架,数据库使用MySQL+MyCat。该系统实现患者管理、医嘱处理、费用结算、药品管控等核心业务全流程数字化,助力医疗机构提升效率和服务质量。
641 4
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
370 10
|
机器学习/深度学习 自然语言处理 搜索推荐
大厂 10Wqps智能客服平台,如何实现架构演进?
40岁老架构师尼恩,凭借深厚的架构功力,指导众多小伙伴成功转型大模型架构师,实现职业逆袭。尼恩的《LLM大模型学习圣经》系列PDF,从基础理论到实战应用,全面覆盖大模型技术,助力读者成为大模型领域的专家。该系列包括《从0到1吃透Transformer技术底座》《从0到1吃透大模型的基础实操》《从0到1吃透大模型的顶级架构》等,内容详实,适合不同水平的读者学习。此外,尼恩还分享了多个智能客服平台的实际案例,展示了大模型在不同场景中的应用,为读者提供了宝贵的实践经验。更多技术资料和指导,请关注尼恩的《技术自由圈》公众号。
大厂 10Wqps智能客服平台,如何实现架构演进?

热门文章

最新文章