支付通知没收到?这就是最大努力通知在做的事
最大努力通知,听起来有点"尽人事"的意味——我通知你,但不保证你一定收到。这其实是分布式事务的另一种思路,跟本地消息表、事务消息那种"死磕到底"的方式不一样。 今天我们结合微信支付的场景,把这个方案彻底聊透。 从微信支付说起 微信 …
继续阅读分类
共 4 篇
最大努力通知,听起来有点"尽人事"的意味——我通知你,但不保证你一定收到。这其实是分布式事务的另一种思路,跟本地消息表、事务消息那种"死磕到底"的方式不一样。 今天我们结合微信支付的场景,把这个方案彻底聊透。 从微信支付说起 微信 …
继续阅读微服务拆分之后,一个原本在单体里用本地事务搞定的操作,被拆成了两个服务各管一段。调用方式从本地调用换成了 MQ,问题也跟着来了——本地事务和消息发送,怎么保证一致性? 这篇文章就把这个问题从头到尾捋一遍。 问题是怎么来的 先说一个典型场景。用户下单之后,订单服务需要做两件事:在本 …
继续阅读1 问题背景 讨论分布式事务时,“一致性”几乎是绕不开的词。但这个词也最容易制造误解:有人把分布式事务等同于强一致性,有人把 Raft 也归到“一致性方案”里,于是 2PC、TCC、SAGA、Raft、CAP、BASE 被放在同一层讨论。 这里真正需要先厘清的是:一致性不是一个单 …
继续阅读分布式事务这个词大家都不陌生,但我发现一个挺普遍的现象:很多人其实没搞清楚自己的业务到底存不存在分布式事务问题,要么该用没用,要么不该用的地方硬上了一套复杂方案。 所以今天这篇文章,先把「怎么判断分布式事务」这件事讲清楚,再聊解决方案怎么选。 先给个书面定义垫一下:分布式事务,是 …
继续阅读