原使用Atomikos进行多数据源的事务管理,现需要支持tidb,发现是不支持XA事务的,因本就支持分布式事务,
现在在一个集群下建立了多个库,springboot程序连接多个数据源,通过aop做切换,如何适配?
Tidb 完美兼容mysql 应该不需要其他操作吧 Tidb是分布式数据库 根本也不需要分库分表的鸡肋设计了
1 个赞
用 tidb 就只有一个数据源了,只考虑这个的话就不需要 Atomikos 了
mysql, tidb, pg 那种混合数据源么?
setea 开源的分布式数据源可以支持,比较麻烦(AOP 可能没办法)
1 个赞
我也觉得很鸡肋,现状就是这样,且同一个集群下的两个库还会出现同样的表
现在是用的aop动态切换数据源的,用atomikos做的事务管理,考虑到setea可能改动的地方比较多,想看看还有没有其他改动少的方案
一个数据源,库名点表名这样用吗
业务上确实需要多个库做存储
技术上方式可行的,只要咱们的应用用户有权限。具体还是要参考咱们的应用具体怎么用表
单个tidb,就不需要 aop 了… 这样最简单
业务上就是需要多个,有点麻烦
那就又回到那个经典分布式数据一致性问题了,不用数据库保证数据一致性,需要开发自己保证数据一致性
1 个赞
现在看起来只能借助其他中间件比如seata这样
1 个赞
seata还是挺重的,如果只需要最终一致性也可以考虑其他方案
还有什么其他办法吗?
我们是可能是同时写多个库的情况
用tcc方案的文章网上好多,之前我们是自己实现的,京东好像有个框架hmily,原理应该都是tcc
谢谢,我们了解下