84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我在想数据库做读(A)写(B)分离,如果遇到支付回调,中间肯定是会有事务,需要多次查询(A)和写入(B),操作多个不同主机的库(A,B),怎么保持数据完整性
比如支付回调过来,先验证,在开启事务,去A里查,写B,在查A,在写B,事务不会出问题?
用的数据库读写分离,回调支付的时候肯定是多读与多写,怎么保证在一个事务里可以将事务操作成功
人生最曼妙的风景,竟是内心的淡定与从容!
首先要明确,开启事务是针对一个数据库的,也就是针对主数据库的,开启事务后你不能去从数据库查询(也不能去从数据库查询,因为查询的加锁操作是写入操作),所以总的来说,整个事务操作都应该是针对主数据库的,不存在你说的去A查再到B写的问题。
楼主的业务量如果很大 可以考虑分库 安装用户的ID取余分库 然后性能问题也能解决 事物问题也能解决 我公司现在的业务就用了分库
@junze 分库的问题,你的主从库数据同步是实时的么?主库和从库是按照什么样的业务场景来划分的?如何保证主从库的数据一致性问题?
首先要明确,开启事务是针对一个数据库的,也就是针对主数据库的,开启事务后你不能去从数据库查询(也不能去从数据库查询,因为查询的加锁操作是写入操作),所以总的来说,整个事务操作都应该是针对主数据库的,不存在你说的去A查再到B写的问题。
楼主的业务量如果很大 可以考虑分库 安装用户的ID取余分库 然后性能问题也能解决 事物问题也能解决 我公司现在的业务就用了分库
@junze 分库的问题,你的主从库数据同步是实时的么?主库和从库是按照什么样的业务场景来划分的?如何保证主从库的数据一致性问题?