分布式事务,怎么感觉不需要那么复杂

36次阅读

共计 408 个字符,预计需要花费 2 分钟才能阅读完成。

最近了解了一下 saga, Orchestration-based sagas 这些设计,貌似看起来非常的复杂,但是我觉得分布式事务的问题很好解决才对

  • 比如一个 task 需要 a 服务 insert mongo, b 服务 insert mysql,必须两个都 insert 成功才算是 task 成功了。

  • 那么我就用 c 来做统筹工作,c 向 a b 发 http 指示它们 insert, 如果 a b 都返回 200,那就算成功了

  • 如果有任何一个 insert 失败,那就向失败的那个发送回退的 http 就好了啊,insert 的话就是 delete 啊

  • 然后 a b c 我可以多部署几个拷贝来保证可用性,http blocking 的并发问题用 non-blocking 的比如 webflux 这类技术来解决

  • 如果考虑一致性的问题,比如回退过程中哪个服务 down 掉,导致数据不一致。

    • 但是再怎么复杂的分布式事务的设计,发送回退的指令的时候也有可能出现未知情况啊

为啥我这样想,觉得分布式事务也不是啥复杂的东西呢。

正文完
 0