分布式事務SAGA方案實現方式有兩種

(1) SAGA - Choreography 策略

 通過事件驅動的方式來進行事務協調

 

代碼實現方式:

訂單服務使用@Transactional注解先執行本地事務再調用庫存服務

庫存服務使用@Transactional注解先執行本地事務再調用物流服務

物流服務使用@Transactional注解執行本地事務

如果物流服務執行失敗本地事務回滾,先觸發庫存服務本地事務回滾,再觸發訂單服務本地事務回滾

(2) SAGA - Orchestration 策略

集中式協調器負責服務調用以及事務協調,阿里的 Seata 分布式事務框架中實現了此策略