1、主要總結了常用三種情況下使用分布式事務,這里並不討論怎么使用分布式事務。
一、微服務之間通過遠程調用完成事務操作:
二、單體系統訪問多個數據庫實例:
比如:用戶信息和訂單信息分別在兩個Mysql實例存儲,用戶管理系統刪除用戶信息,需要分別刪除信息以用戶的訂單信息。由於數據分布在不同的數據庫實例,需要通過不同的數據庫連接去操作數據
三、多服務訪問同一個數據庫實例:
比如:訂單微服務和存庫微服務即使訪問同一個數據庫也會產生分布式事務,原因就是跨JVM進程,兩個微服務持有了不同的數據庫連接進行數據庫操作。