SaaS多租户存储设计

数据隔离模式 #

  • 独立数据库
    • 实例成本高
  • 共享数据库但隔离Schema
    • 租户之间共享工作负载,需要迁移出大租户.
    • 统计计费困难
  • 数据表字段区分
    • 需要代码兼容,研发成本高,数据安全性低.

框架流程

  • 租户id解析,在handle业务请求时,解析出当前租户id
  • 将租户id放入context中
  • 根据租户id调用多租户存储连接器获取当前租户数据实例
  • 代码层实现scope,在method行为前后进行注入.