回覆列表
  • 1 # 傑哥學Java

    分散式涉及了很多技術,這兒不一一列舉了。

    這兒的事務主要指的是資料庫事務

    傳統事務: 指的是一個IT系統共用一個數據庫

    分散式事務,同一個應用服務部署在N臺主機上,傳統的事務,只能單節點控制

  • 2 # 大象聊科技

    本質原因是傳統事務只能解決單個事務性資源的問題,而分散式事務是考慮多個事務性資源的問題,兩者適用場景不一樣,故無法用傳統事務解決分散式事務問題。

    下面詳細解釋下:

    1、傳統事務通常指資料庫事務,是依賴事務資源的強一致性來保障的。這種事務執行模式在傳統的單體應用中,由於事務性的資源都在同一個應用內,不存在跨越多個事務資源的呼叫方式,可以高效的工作;

    2、但在分散式環境下,由於需要解決不同應用中的事務性資源的狀態一致性,通常不會採用傳統事務中的強一致性策略,而是轉而採用弱一致性,並達到最終一致性(BASE)。“BASE”其核心思想是根據業務特點,採用適當的方式來使系統達到最終一致性(Eventual consistency);在網際網路領域,通常需要犧牲強一致性來換取系統的高可用性,只需要保證資料的“最終一致”,只是這個最終時間需要在使用者可以接受的範圍內;但在金融相關的交易領域,仍然需要採用強一致性的方式來保障交易的準確性與可靠性。

    3、目前分散式事務常用的方案有:

    分散式事務中常見的解決方案包括兩階段提交、三階段提交、Sagas長事務、補償模式、可靠事件模式(本地事件表、外部事件表)、可靠事件模式(非事務訊息、事務訊息)、TCC等。

    不同實現的優劣點參加下圖:

  • 中秋節和大豐收的關聯?
  • 五個月寶寶輔食食譜五個月寶寶吃什麼好?