多数据源+主从+分库方案探讨、实现-创新互联

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