多数据源+主从+分库方案探讨、实现-创新互联
1. 多数据源(项目默认 方案1.4.3 )
1.1 处理方案:分包、注解 切换两种
1.2 使用场景:多数据源主从/多数据源多库/多数据源主从+多库
1.3 问题处理:多数据源就脱离不了事务处理,如何处理事务的统一
1.4 实现方案:
1.4.1 分包:创建多个sqlsession ,通过不同包名分配不同的 sqlsessiontemplate 进行数据操作(参考分支 v0.1 )
1.4.2 注解:注解指定数据源,通过AOP形式进行数据源切换
1.4.3 分包+注解:通过拦截spring的 Service注解,解析包目录进行切换,切换支持spel表达式解析,能执行库操作(参考分支 v0.2)
1.5 问题解决思路
1.5.1 主从场景,使用spring事务即可,建议直接使用 dynamic插件进行使用
1.5.2 分库场景
1.5.2.1 事务:简单处理考虑使用 atomickos 的xa实现方案,进行强事务整合 (v0.1)
1.5.2.2 事务:复杂处理,引入 seata 服务,可使用 AT/TCC/SAGA 方案都可以达到最终一致性,(缺点就是需要引入单独的seata组件)
项目地址:313757586/gen-start 参考对应分支版本,欢迎大家沟通交流,共同进步
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:多数据源+主从+分库方案探讨、实现-创新互联
链接分享:http://ybzwz.com/article/dggpdi.html