之前一直以为像银行转账这种场景,一定是强一致性的。后来自己遇到这么一回事,我给朋友转账,我这边显示转账成功,但朋友并没有收到钱。我以为是需要一定时间,结果24小时之后还没有收到。我自己重新比对转账单,才发现是把对方的开户银行写错了。因此可见,转账这个操作肯定不是强一致性,具体怎么搞的在网上也没有查到。更坑爹的是,转账失败,我的钱被扣了,朋友也没有收到钱,但是我没有收到任何消息,也没有给我把钱退回来,在我打电话到银行去咨询之后才退回来。这个体验真的很差,但银行是大爷,没办法!
references
Wiki Transaction_processing
Wiki: ACID
Wiki:two-phase commit protocol
关于分布式事务、两阶段提交协议、三阶提交协议
刘杰:分布式原理介绍
Distributed systems for fun and profit