一、2pc(two-phase commitment)
請求進來,生成全域性雪花id,存本地執行緒變數,存request請求頭部head;
消費者請求走服務1,
自己做hystrix熔斷;
服務裡面以標籤配置事務,事務做切點的攔截,切面幹事情,開啟子執行緒,且把子執行緒阻塞,一旦放開阻塞走提交。請求主線程繼續走,並返回結果。開啟主線程,死迴圈檢查過期事務;(locksupport,執行緒阻塞)
走服務2,同理走服務1的事情;
提交commit。post請求。對應的commit,觸發子執行緒阻塞放開。
二、補償事務
通俗,一系列事務業務操作,按序執行,其中任一步出現問題,都執行回退。這些回退操作,你自己寫**完成。就這麼玩。
分布式事務,高併發下分布式事務的解決方案
當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...
深入理解分布式事務,高併發下分布式事務的解決方案
當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...
深入理解分布式事務,高併發下分布式事務的解決方案
當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...