✨什么是SaaS?什么是多租户?

前言

看完本文,你将可以实现:

  1. SaaS 主题的单口相声1min
  2. 多租户 主题的单口相声1min

🤟you know m3 bro🤟

正文

关于SaaS

首先,SaaSSoftware as a Service 的简称,即软件即服务

所以是啥意思?

简单说就是SaaS就是一种卖服务的方式

假设我写一个网站或者app给别人用,别人按月或者按年给我钱。

我的服务为对方创造了价值,对方通过购买服务也让我得到了钱。

那这样的一个双方都收益的模式就是SaaS模式。

其实我只要举一些实现了SaaS模式的【服务】,你就很清楚了

比如我们熟悉的钉钉,阿里负责维护好这个软件,企业则花钱去买这个软件提供的服务。

还有slack【就像是欧美风格的钉钉】Jira【项目管理工具】

关于多租户【Multi-Tenant】

很好理解,就是多个人租一个东西呗。

需要着重注意的是,多租户是一种【架构】(划重点!)

好,那么什么是架构

常见的架构有:单体架构、微服务架构、bff架构、干净架构,他们其实是实现某一个需求的方式。(划重点!)

就拿大家最熟悉的单体架构微服务架构来说。

我的需求如果是做一个商城,我可以用单体架构 做,也能用微服务架构做。

是的,他们都能实现需求,问题永远是哪一个更合适

多租户架构既然是架构,那逻辑其实和上面的一样。

假设我现在有一个需求:做出一个钉钉出来。

那我就可以使用多租户架构 实现钉钉,我也能不用多租户架构实现钉钉。

只是前人在摸索的过程中,发现多租户架构 用来实现钉钉这种SaaS服务感觉比较合适。慢慢就有了多租户这种架构。

那么多租户架构的主要思想是什么呢?【拿钉钉举例子】

  1. 资源共享

阿里不会为公司A开发一个【钉钉A版】,为【公司-人类朋友】开发一个【钉钉-人类朋友版】。

而是各个企业都用同一套代码,这就是资源共享

  1. 逻辑隔离

虽然是资源共享,但是公司A公司-人类朋友的数据是隔离的。

注意,这个是逻辑的隔离 ,而不是物理的隔离

啥意思呢?

物理隔离 就是公司A 的数据放在一个数据库,公司-人类朋友的数据放在另一个数据库。

逻辑隔离 就是公司A公司-人类朋友的数据都放在一个数据库,但是通过某种方式区分开来。

钉钉不会为了一家企业单独创建一个数据库,这个应该是比较好理解的。

否则一百万企业就会有一百万个数据库,那可以说是非常有意思了。

  1. 可定制 各个租户可以有其自身的配置,比如公司logo之类的。这个应该也比较好理解。代码虽然是同一套,这些个性化配置是肯定要提供的。

SaaS模式与多租户架构的关系是什么?

看完前面的内容,一句话就可以秒杀此问题:

SaaS模式是一种通过订阅提供软件服务的商业模式,而多租户架构是实现SaaS模式的一种常见技术架构

最后

建议全文背诵。

祝你永远不死。

相关推荐
訾博ZiBo6 分钟前
VibeCoding 时代来临:如何打造让 AI 秒懂、秒改、秒验证的“AI 友好型”技术栈?
前端·后端
Victor3562 小时前
Redis(25)Redis的RDB持久化的优点和缺点是什么?
后端
Victor3562 小时前
Redis(24)如何配置Redis的持久化?
后端
ningqw9 小时前
SpringBoot 常用跨域处理方案
java·后端·springboot
你的人类朋友9 小时前
vi编辑器命令常用操作整理(持续更新)
后端
胡gh9 小时前
简单又复杂,难道只能说一个有箭头一个没箭头?这种问题该怎么回答?
javascript·后端·面试
一只叫煤球的猫10 小时前
看到同事设计的表结构我人麻了!聊聊怎么更好去设计数据库表
后端·mysql·面试
uzong10 小时前
技术人如何对客做好沟通(上篇)
后端
未来之窗软件服务10 小时前
浏览器开发CEFSharp+X86+win7(十三)之Vue架构自动化——仙盟创梦IDE
架构·自动化·vue·浏览器开发·仙盟创梦ide·东方仙盟
chenglin01610 小时前
Logstash——性能、可靠性与扩展性架构
架构