多租户体系实现

经过工作中的一处场景启发,我进行了深入学习并总结出本篇文章。

核心思路

方案选择

多租户模型基本有以下三种(具体可以见这里),第一种形式隔离做的最彻底(isolated),多租户之间只在硬件层面进行共享;第三种形式共享做的最彻底(shared),在硬件、应用和DB层面都做到了共享。
多租户应用
一个应用要多租户化,选择何种形式,需要考虑具体的业务场景,同时也要考虑投入产出比,不同的形式投入成本不同,可以参考下面的图。上面的三种形式最左边可以认为是isolated approach,最右边是shared approach,第二种介于中间。越靠右的方式从初期来看投入成本更高,但从长久来看投入成本会更低。
在这里插入图片描述

设计考量

框架层面考量,如果从单纯项目实现层面也需要思考这些方面

安全性

对于一个多租户应用来说,任何业务处理、数据读写都需要有明确的租户上下文,这涉及到方方面面:

  • 当前用户是否有特定租户的权限?
  • 当前的web请求、RPC服务调用、任务启动、消息处理是否有特定的租户?
  • 当前的数据读写是否有明确的租户参数?

一旦发现没有权限、没有租户的程序在执行,保护机制及时进行检验、发现并予以熔断报错。

扩展性

不同的租户,往往会有不同程度的差异,差异可能来自:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倜傥村的少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值