国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

MySQL數據庫中間件如何實現分布式事務

瀏覽:159日期:2022-06-20 14:47:44

問題描述

假設我有兩個MySQL數據庫節點,在這兩個節點前面有一個數據庫中間件,應用通過數據庫中間件來使用后面的兩個MySQL節點, 結構如下圖所示:

MySQL數據庫中間件如何實現分布式事務

當應用通過中間件執行一個事務時,這個事務需要由中間件轉發給兩個MySQL節點,于是在中間件這一層,原本普通的事務現在升級成了跨越兩個MySQL節點的分布式事務。對于應用程序來說,應用程序希望這個事務要么都被兩個MySQL節點執行成功,要么都不成功。

當應用程序begin了事務,執行一系列SQL語句后,應用程序進行commit,此時數據庫中間件會分別向兩個MySQL節點發送commit命令,假設兩個MySQL節點都接收到了commit命令,并成功提交,那么事務執行成功。如果其中一個節點commit成功,而另外一個節點由于一些原因無法執行commit(可能網絡斷開,或者MySQL數據庫出現錯誤),又由于已經commit的事務無法rollback,所以此時兩個MySQL節點就出現了數據不一致的情況。

我的問題是:目前是否有上述問題的解決方法或解決思路,先謝謝了

問題解答

回答1:

xa

事務資源預分配

業務原子操作

相關文章:
主站蜘蛛池模板: 汝州市| 博湖县| 报价| 会同县| 革吉县| 衡水市| 比如县| 柳州市| 儋州市| 嘉兴市| 和平县| 五家渠市| 泗洪县| 涿鹿县| 扎兰屯市| 观塘区| 玉山县| 乌苏市| 怀远县| 千阳县| 来安县| 珠海市| 会昌县| 永丰县| 同德县| 台山市| 富宁县| 万年县| 琼海市| 贵港市| 新绛县| 特克斯县| 沐川县| 蓬莱市| 佛山市| 乡城县| 汉寿县| 固安县| 平阳县| 双桥区| 垣曲县|