想把目前Jfinal开发的项目做成SaaS(多租户)的,有啥可以参考的吗?

如题,小白技术兵,从来没有做过类似的项目,哪位大神可以给个参考的项目或者给点意见和帮助,万谢。

评论区

杜福忠

2018-03-13 19:53

改造现有项目,成本最低的做法:
JFinal使用技巧-多数据源自动切换和动态管理
使用多数据源的情况下, 数据库结构和sql 不用改动, 增加Base层就能解决

如果项目中有使用缓存的,注意处理缓存工具 key自动隔离,可模仿这个做一个可切换的Cache工具处理:
JFinal使用技巧-EhCache与Redis自由切换


后期根据用户量进行集群处理,和局部功能改造为微服如jboot


还有一个办法就是使用 N个Tomcat,用NGINX做租户分发。。。成本高

rirai

2018-03-14 08:30

@杜福忠 谢谢,给予的帮助和建议。我现在正考虑用多数据源的方法,但是有一点犹豫,就是万一租户规模超过1000的话,是不是一台服务器就跑不了了?(上限是多少我不确定),毕竟JDBC链接也是给予Socket连接的吧。我现在的数据库和服务器都是放在阿里云上的,不清楚最大可以承受多少租户。

netwild

2018-03-14 09:07

多租户的二级域名实现可以看看这个:http://www.jfinal.com/share/320

杜福忠

2018-03-14 09:31

@rirai 根据访问量做一下集群就可以了,一台不行就多搞几台,推荐一下腾讯的容器服务可以根据访问量自动扩容容器。JDBC链接池,做成动态的,当用户访问时再取该租户的configName,如果不存在,再去加载该租户的链接池, 再增加一个定时扫描工具,记录并清除长时间没有访问租户的链接池

rirai

2018-03-14 11:17

@netwild 谢谢,学习了。

rirai

2018-03-14 11:18

@杜福忠 谢谢,很好的思路,瞬间觉得难度降低了不少,至少有信心可以实现。

热门反馈

扫码入社