分布式多租户架构的思考
现在市场上开发软件SAAS化已经是标配了,结合当前或者的分布式微服务和SAAS化多租户结构的实际现状和需求,我们作为技术架构如何考虑设计一套分布式微服务下多租户动态数据源切换的灵活架构方案,是当前比较紧要的一件事情。以下对于多租户动态数据源做了如下分析。
场景分析
场景一:
前端直接发起一个请求通过网关到后端服务,如果只有一个服务的情况下,需要处理被访问服务当前执行所需的数据源应该是当前登录用户所在租户的数据源
序列图如下:
场景二:
多个服务协作完成某一业务的情况,直接上图
场景三:
多个服务协作完成某一业务的情况,并且部分业务函异步处理,如图
场景四
多租户场景下分布式定时任务的处理场景
参考博文
将您的 web 应用程序转化为多租户 SaaS 解决方案
https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/
基于spring通过多数据源实现多租户应用
https://www.jianshu.com/p/54f35fa2f374
基于Hibernate动态数据源切换:https://blog.csdn.net/sysushui/article/details/90319375
实例:https://blog.csdn.net/lulitianyu/article/details/79566775