10 Fastadmin多租户(saas)有没有好的解决方案,如何做

发布于 2019-11-12 11:27:52

最近在做一套教育类软件,Fastadmin多租户(saas)有没有好的解决方案,如何做?
感觉这种开发需求会越来越多。

查看更多

关注者
0
被浏览
2.2k
netfan
netfan 2019-11-13
这家伙不懒,但不知道写什么!

我有做类似项目,我采取的是比较简单的方法。
1、租户管理单独一个模块处理,在创建租户时使用数据库模板和不同的数据表前缀为其创建一套全新的数据。因为每个租户的数据表前缀不同,所以可以在不修改其它逻辑代码、数据表结构的情况下将不同租户的数据完全隔离开
2、为每一个租户分配不同的子域名。比如a.xxx.com对应A用户,他要用这个地址来登录,B用户对应b.xxx.com。
3、处理用户请求时,在进入具体业务流程之前,从租户信息中通过绑定的子域名来提取用户的数据表前缀,然后覆盖应用的数据库前缀配置。
4、系统配置这一块做修改,默认的系统配置是保存为site.php的,我改成了与子域名相关,也就是保存为site_a.php、site_b.php之类的。还有cookie和session、cache配置之类的,也以子域名作为前缀来分离租户数据。

大致就是这么一个流程。我比较懒,这套系统是从单用户直接过渡到多租户的,没有对原有业务代码修改太多,而且也能保证各租户的数据完全绝对独立。优点就是过渡极快,缺点就是维护起来不方便。特别是当业务代码的更新涉及到数据库结构的变化时批量修改数据库结构是个麻烦事,还好已经实现了自动化

3 个回答
likeni
likeni 2019-11-13
软妹子····

应该初一个saas版本了

wkk
wkk 2019-11-12
这家伙很懒,什么也没写!

强答一波
我们现在也准备搞类似的系统,分享一下个人的想法:

  • 配置数据来自数据库
部分配置放在主数据库,比如上传,cookie,session配置,对主系统无影响的配置可以放在客户服务器。这里要修改tp的配置读取写入方式。
  • 系统的子模块以插件形式实现
这里要修改fa的插件管理,当然你还要有与之对应的插件下载(验证)API
  • 主系统与客户系统的认证
比如2中的插件验证

不知道是不是题主的意思

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览