sass 理想情况下是,是一套代码、一套部署环境、一朵SaaS Cloud,支持所有客户,满足他们差异化的客户需求,并能帮助他们做到安全隔离.
产品化的难点
- 常见的Sass 产品尝尝都是标准化的.
- 行业业务属性不同,地区差异比较大.
- 非必要的定制化需求有时也无法完全避免.
产品化架构设计三板斧
- 一套代码,支持所有差异化的需求.
- 理论基石: 开闭原则 - 对扩展开放,对修改关闭.
- 配置 > 组合 > 插件.
多租户设计与框架
- 数据隔离在Data Model层面进行了第一层隔离,采用tenant_id进行租户的逻辑隔离.
- 虽然tenant_id已经做了租户逻辑隔离,但数据库模式还是采用了Per-Tenant的租户隔离模式,以保证更安全的数据隔离,这是第二层的数据隔离。