你一定知道,企业集成的难点永远是分布式事务!
分布式系统架构中,最不能缺少谁?答案是分布式事务。
在微服务盛行的今天,分布式数据库或者跨多个数据库的应用在中大规模企业普遍存在,而由于网络、机器等不可靠因素,数据不一致问题很容易出现。
如何解决?分布式事务又快又好。架构设计是做减法,不是堆技术;因此,如何基于业务合理设计分布式事务,几乎是每一位架构师必须直面的难题。
事务(Transaction)
事务提供一种机制,能将一个活动涉及的所有操作纳入到一个不可分割的执行单元,所有操作均正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致事务整体回滚。
画外音:就像一名忠诚的卫士,事务确保“ All or Nothing(全部完成,或全部不完成)”机制。
什么是分布式事务?
面向服务架构的分布式环境下,数据库资源增多,越来越多的应用要求多个服务的访问,都能纳入到同一个事务当中。
当事务的参与者、支持事务的服务器、资源服务器、事务管理器,都在分布式系统的不同节点上时,这就是分布式事务。
分布式事务方案的选择题,怎么做?
实现分布式事务,通常有以下几种方案: