问题描述
平台越做越大到多租户时,经常会遇见一种情况,就是某些用户希望自己的功能是定制化的,有可能是完全的新功能,也有可能压根就是同样的功能但是A和B两个用户的实现前后台展示和逻辑就压根不同 不可能在同样的一套系统里写一个针对客户A的一套前后台,又写一套针对用户B的前后台,然后通过租户Id不同去做判断校验,这样随着用户数量的不断增加,代码就变得不可维护 而且很有可能是不同的团队去定制化开发,也就是说A 的定制化部分由A的团队去开发,B的定制化部分由B团队去开发,不可能我们把所有代码扔给他们去修改,安全性和扩展性是不允许的
模型图如下:
### 如上图所示,传统saas 是封闭模型,所有的功能都是在包含在平台本身,这样做的由如下几个缺点: ### 1.功能内部需要维护多套用户代码,每次根据是哪个租户请求去判断走哪个 ### 2.很难将定制化部分交付给不同租户团队自己去开发,因为对接维护成本很高
mini-cloud 框架是如何进行多租户定制方案的
### mini-cloud 在租户和框架平台之间加了一层,挂载层,每个租户可以选择在挂载层下挂载自己得个性化定制服务,不挂在的话就是走默认的服务,如果挂在了就是走自己的前后台服务
模型图如下:
### 如上图所示,mini-cloud 框架对外开放了一个tanent的租户层,可以根据不同的租户挂在他们自定义的前后台服务,如果某些功能不需要个性化开发,则使用默认服务功能 ### mini-cloud saas 有如下优点: ### 1. 支持框架适用方内部独立开发所有服务功能 ### 2. 支持某租户自己团队开发自己业务端的前后台服务 ### 3. 支持混合使用框架默认功能以及自定义功能 ### 4. 可无限扩展租户前后台服务无需任何判断逻辑