日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

分布式數(shù)據(jù)庫(kù)中間件 ShardingSphere 將 Sea t a 分布式事務(wù)能力進(jìn)行整合,旨在打造一致性更強(qiáng)的分布式 數(shù)據(jù)庫(kù)中間件 。

Java技術(shù)分享:一致性更強(qiáng)的分布式數(shù)據(jù)庫(kù)中間件

 

背景

數(shù)據(jù)庫(kù)領(lǐng)域,分布式事務(wù)的實(shí)現(xiàn)主要包含:兩階段的 XA 和 BASE 柔性事務(wù)。

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

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

Seata 核心的 AT 模式 適用于構(gòu)建于支持本地 ACID 事務(wù)的關(guān)系型數(shù)據(jù)庫(kù)。通過(guò)整合 Seata ,其 AT 模 式 在一階段提交+補(bǔ)償?shù)幕A(chǔ)上,通過(guò) TC 的全局鎖實(shí)現(xiàn)了 RC 隔離級(jí)別的支持,可提高 ShardingSphere 的分布式事務(wù)的一致性。

整合方案

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

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

Java技術(shù)分享:一致性更強(qiáng)的分布式數(shù)據(jù)庫(kù)中間件

 

Quick Start

ShardingSpher e 已經(jīng)實(shí)現(xiàn)了 base-seata-raw -jdbc-example,大家可以自行進(jìn)行嘗試:

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

操作手冊(cè):

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

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

參考 Step6 和 Step7 即可。

2、在每一個(gè)分片數(shù)據(jù)庫(kù)實(shí)例中執(zhí)行 resources/sql/undo_log.sql 腳本,創(chuàng)建 undo_log 表

3、 Run YamlConfigurationTransactionExample.JAVA

關(guān)于 ShardingSphere

ShardingSphere 是一套開(kāi)源的分布式數(shù)據(jù)庫(kù)中間件解決方案組成的生態(tài)圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(計(jì)劃中)這 3 款相互獨(dú)立的產(chǎn)品組成, 提供標(biāo)準(zhǔn)化的數(shù)據(jù)分片、分布式事務(wù)和數(shù)據(jù)庫(kù)治理功能,可適用于如 Java 同構(gòu)、異構(gòu)語(yǔ)言、容器、云原生等各種多樣化的應(yīng)用場(chǎng)景。 目前, 已經(jīng)擁有超過(guò) 8000 的 Star,57 位 Contributors。

關(guān)于 Seata

Seata 是阿里巴巴和螞蟻金服共同開(kāi)源的分布式事務(wù)中間件, 融合了 雙方在分布式事務(wù)技術(shù)上的積累,并沉淀了新零售、云計(jì)算和新金融等場(chǎng)景下豐富的實(shí)踐經(jīng)驗(yàn),以高效并且對(duì)業(yè)務(wù) 0 侵入的方式,解決微服務(wù)場(chǎng)景下面臨的分布式事務(wù)問(wèn)題。目前, 已經(jīng)擁有超過(guò) 9900 的 Star,83 位 Contributors。

分享到:
標(biāo)簽:分布式 數(shù)據(jù)庫(kù) Java
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定