1.系统初始化  2. 业务对接  3. 旧系统改造

3.旧系统改造

传统的单用户系统改造成saas多租户模式

1、工程的整合有两种方案

     (1)方案一: 把老系统代码迁移到 toSaas源码工程整合成一个工程。 适合代码采用 springboot + mybatis框架 的旧系统。

     (2)方案二: 分开部署,即toSaas独立部署运行,老系统采用web api方式调用toSaas接口,但老系统要直接操作数据库时,就要移植toSaas源代码里的mybatis部分代码到老系统工程。

2、业务层代码整合

     (1)用户系统整合:老系统的用户只考虑单企业(租户),因此要替换成使用toSaas平台的用户系统,使用toSass平台的用户注册、登录、权限等接口。为不影响老系统业务的代码,可以改造toSaas用户接口,把用户数据同步到老系统的用户,保持数据一致性,则老代码的用户相关的代码无需改动。

     (2) 数据库层操作整合:由于老系统只考虑单数据源连接,toSaas多租户里每一个租户都有自己的数据库。同一台mysql服务器的所有租户共用一个数据库连接池,连接到mysql实例的系统数据库mysql ,在执行sql语句时由拦截器在表名的前面加上对应的数据库名字。因此数据库操作层代码要替换成toSaas提供的数据库拦截器。

     (3) 全局变量的改造:全局变量通常有2种,static 和 session 变量, static 变量为所有用户共享的变量,如果老系统只考虑给单企业(租户)使用,那就改造成使用redis存储代替。session变量通常为单操作用户的临时存储变量,但在服务器集群的情况下,两次请求可能会分配到不同的服务器,导致session值不同步,因此建议替换成redis存储变量,或者采用其他session集群方案代替。

3、系统改造完成,系统交给运维部署发布,恭喜你老系统完美转化成saas平台。

  1.系统初始化  2. 业务对接  3. 旧系统改造