概述
SaaS版仓储开发纪录
- 概述
- 技术选型
- 实现思路
- 难点
- 解决方案
概述
最近公司需要开发一个SaaS版的仓库系统,因为之前没有SaaS系统的开发经验在网上找了大量的关于SaaS的资料,SaaS系统最关键点就是数据隔离,常见的数据隔离方法有同库同表通个租户ID来区分,分库隔离;同库同表优点是使用的资源较少,但出来的数据杂乱切难于修改维护;分库隔离使用资源比较多,但数据隔离上也是比较好的。因为公司有自己的云主机资源比较充足所以我们采用的分库隔离的方法。
技术选型
在技术上前端使用的是Vue+Element,后端使用SpingBoot+MyBatis;
框架使用若依 ruoyi.vip
实现思路
因为是采用分库形式,所以在登陆时采用填写公司名来识别租户的数据库;在租户注册并支付后执行sql的脚本实现建立租户的库与表。业务逻辑通过jwt+redis获取用户的Database Name定位数据库进行逻辑操作
难点
- 登陆识别
- 注册建库
- 业务逻辑数据定位
- Database 迭代更新
- 数据库备份
- 购买续费
解决方案
- 登陆识别有2种方式:一种是以公司为主体;一种是以用户为主体;
1)公司为主体的需要在登陆时需要区识别对应的Database;
2)用户为主体的则有2种方式识别:1、用户自己创建公司;2、用户加入已创建公司 - 创建完公司执行sql脚本创建对应数据库
- 数据定位主要是通过redis+token保存对应Database Name,当用户需要进行数据交互时则通过redis+token获取Database Name执行对应Database的数据;
- Database 迭代更新则需要通过写脚本获取全部创建的Database Name并执行更新语句
- 数据库备份采用了crontab+mysqldump在每天11:40分进行备份
- 购买续费是针对创建的公司的,通过选择购买天数进行记录在登陆时做验证
最后
以上就是欣慰楼房为你收集整理的SaaS版仓储开发纪录概述技术选型实现思路难点解决方案的全部内容,希望文章能够帮你解决SaaS版仓储开发纪录概述技术选型实现思路难点解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复