第二篇 租户模型:隔离与共享
上一篇我们想清楚了三件事:数据隔离是地基、统一升级是核心、计量计费养商业模式。到了第二篇,问题从要不要做变成了怎么做——第一个请求进来时,系统怎么知道它是谁家的?数据该落到哪里?每户的开关和套餐存在哪?新客户签约后五分钟内能不能让他登进自己的后台?
这四件事就是我们租户模型的四根柱子:租户识别、数据隔离、配置中心、租户开通。听起来朴素,但多租户系统百分之八十的线上事故,都栽在这四根柱子上。我们自己的踩坑史里,域名解析的缓存串号、共享库查询漏掉租户号、开通脚本跑了半截失败留下脏数据,每一个都能单独讲一晚上。
本篇四节,全部围绕我们真实踩过的坑展开,每节都给可照做的代码与对照表:
- 2.1 租户识别:域名、子目录与请求头,一个请求怎么认出归属
- 2.2 数据隔离:独立库、共享库加租户号,两种模式如何在同一套代码里共存
- 2.3 配置中心:每户自己的开关与套餐,把差异收敛进数据
- 2.4 租户开通:自动建库与初始化脚本,让新户开通从一小时变成五分钟
如果你只想读一节,建议读 2.2,它是整本书技术含量最高的一节;如果你的团队正在上线初期,2.4 的开通自动化能立刻帮你把实施成本降下来。另外 腾讯云实践 里有关于云资源开通的现成经验,两本书对着读会更快。
