✨什么是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模式的一种常见技术架构

最后

建议全文背诵。

祝你永远不死。

相关推荐
IT_陈寒7 小时前
React的状态更新坑得我差点加班到天亮
前端·人工智能·后端
javaDocker7 小时前
电视台自建AI短视频生产线与算力底座:技术架构、关键实现与优化实践
人工智能·架构·音视频
码事漫谈8 小时前
一天搭出 80% 的 Agent,然后卡在 95% 到死
后端
haishikeji696_8 小时前
市域空中智能治理建设:无人机巡检管控平台功能架构与行业落地方案
架构·无人机·低空经济·无人机巡检·无人机管理系统·飞控管理平台
leonkay8 小时前
C# 锁机制——【2】深入原理
开发语言·后端·spring·c#·个人开发
江湖十年8 小时前
在 Go 中使用 dyno 包处理动态对象
后端·面试·go
八角丶8 小时前
Node 网络编程 —— TLS 模块
javascript·后端·node.js
山岚的运维笔记8 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
m0_587383008 小时前
点餐预约核销系统的架构脉络
java·架构·系统架构·需求分析
jianqiang.xue8 小时前
审查技能库(上):内存安全四件套
stm32·单片机·物联网·架构·esp32