亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

分布式數據庫中間件 ShardingSphere 將 Sea t a 分布式事務能力進行整合,旨在打造一致性更強的分布式 數據庫中間件 。

Java技術分享:一致性更強的分布式數據庫中間件

 

背景

數據庫領域,分布式事務的實現主要包含:兩階段的 XA 和 BASE 柔性事務。

XA 事務底層,依賴于具體的數據庫廠商對 XA 兩階段提交協議的支持。 通常,XA 協議通過在 Prepare 和 Commit 階段進行 2PL(2 階段鎖),保證了分布式事務的 ACID,適用于短事務及非云化環境(云化環境下一次 IO 操作大概需要 20ms,兩階段鎖會鎖住資源長達 40ms, 因此熱點行上的事務的 TPS 會降到 25/s 左右,非云化環境通常一次 IO 只需幾毫秒,因此鎖熱 點數據的時間相對較低)。

但在 BASE 柔性事務方面,ShardingSphere 提供的接入分布式事務的 SPI,只適用于對性能要求較高,對一致性要求比較低的業務。

Seata 核心的 AT 模式 適用于構建于支持本地 ACID 事務的關系型數據庫。通過整合 Seata ,其 AT 模 式 在一階段提交+補償的基礎上,通過 TC 的全局鎖實現了 RC 隔離級別的支持,可提高 ShardingSphere 的分布式事務的一致性。

整合方案

整合 Seata AT 事務時,需要把 TM,RM,TC 的模型融入到 ShardingSphere 分布式事務的 SPI 的生態中。 在數據庫資源上,Seata 通過對接 DataSource 接口,讓 JDBC 操作可以同 TC 進行 RPC 通信。 同樣,ShardingSphere 也是面向 DataSource 接口對用戶配置的物理 DataSource 進行了聚合,因此把物理 DataSource 二次包裝為 Seata 的 DataSource 后,就可以把 Seata AT 事務融入到 ShardingSphere 的分片中。

在 Seata 模型中,全局事務的上下文存放在線程變量中,通過擴展服務間的 transport,可以完成線程變量的傳遞,分支事務通過線程變量判斷是否加入到整個 Seata 全局事務中。 而 ShardingSphere 的分片執行引擎通常是按多線程執行,因此整合 Seata AT 事務時,需要擴展主線程和子線程的事務上下文傳遞,這同服務間的上下文傳遞思路完全相同。

Java技術分享:一致性更強的分布式數據庫中間件

 

Quick Start

ShardingSpher e 已經實現了 base-seata-raw -jdbc-example,大家可以自行進行嘗試:

https://github.com/Apache/incubator-shardingsphere-example/tree/dev/sharding-jdbc-example/transaction-example/transaction-base-seata-example/transaction-base-seata-raw-jdbc-example

操作手冊:

1、按照 seata-work-shop 中的步驟,下載并啟動 seata server。

https://github.com/seata/seata-workshop

參考 Step6 和 Step7 即可。

2、在每一個分片數據庫實例中執行 resources/sql/undo_log.sql 腳本,創建 undo_log 表

3、 Run YamlConfigurationTransactionExample.JAVA

關于 ShardingSphere

ShardingSphere 是一套開源的分布式數據庫中間件解決方案組成的生態圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(計劃中)這 3 款相互獨立的產品組成, 提供標準化的數據分片、分布式事務和數據庫治理功能,可適用于如 Java 同構、異構語言、容器、云原生等各種多樣化的應用場景。 目前, 已經擁有超過 8000 的 Star,57 位 Contributors。

關于 Seata

Seata 是阿里巴巴和螞蟻金服共同開源的分布式事務中間件, 融合了 雙方在分布式事務技術上的積累,并沉淀了新零售、云計算和新金融等場景下豐富的實踐經驗,以高效并且對業務 0 侵入的方式,解決微服務場景下面臨的分布式事務問題。目前, 已經擁有超過 9900 的 Star,83 位 Contributors。

分享到:
標簽:分布式 數據庫 Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定