日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式事务解决方案框架(LCN)

發(fā)布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式事务解决方案框架(LCN) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

事務(wù)概念

事務(wù)特性(ACID)

原子性(A)

所謂的原子性就是說,在整個事務(wù)中的所有操作,要么全部完成,要么全部不做,沒有中間狀態(tài)。對于事務(wù)在執(zhí)行中發(fā)生錯誤,所有的操作都會被回滾,整個事務(wù)就像從沒被執(zhí)行過一樣。

一致性(C)

事務(wù)的執(zhí)行必須保證系統(tǒng)的一致性,就拿轉(zhuǎn)賬為例,A有500元,B有300元,如果在一個事務(wù)里A成功轉(zhuǎn)給B50元,那么不管并發(fā)多少,不管發(fā)生什么,只要事務(wù)執(zhí)行成功了,那么最后A賬戶一定是450元,B賬戶一定是350元。

隔離性(I)

所謂的隔離性就是說,事務(wù)與事務(wù)之間不會互相影響,一個事務(wù)的中間狀態(tài)不會被其他事務(wù)感知。

持久性(D)

所謂的持久性,就是說一單事務(wù)完成了,那么事務(wù)對數(shù)據(jù)所做的變更就完全保存在了數(shù)據(jù)庫中,即使發(fā)生停電,系統(tǒng)宕機(jī)也是如此。

這種特性 簡稱 剛性事物

分布式事務(wù)

分布式事務(wù)產(chǎn)生原因

分布式事物產(chǎn)生的原因

分布式事務(wù)產(chǎn)生的場景

在分布式系統(tǒng),都會垂直拆分?jǐn)?shù)據(jù)庫,分為支付數(shù)據(jù)庫、訂單數(shù)據(jù)庫、積分?jǐn)?shù)據(jù)庫、優(yōu)惠全數(shù)據(jù)庫等,業(yè)務(wù)組成,分為多個數(shù)據(jù)源,會產(chǎn)生分布式事物問題。

spring事務(wù)和分布式事務(wù)的區(qū)別是什么?
spring事務(wù),本地事務(wù)
分布式事務(wù)是跨服務(wù)間的通訊(不同的數(shù)據(jù)庫連接)

分布式理論知識

CPA理論

CAP由Eric Brewer在2000年P(guān)ODC會議上提出[1][2],是Eric Brewer在Inktomi[3]期間研發(fā)搜索引擎、分布式web緩存時得出的關(guān)于數(shù)據(jù)一致性(consistency)、服務(wù)可用性(availability)、分區(qū)容錯性(partition-tolerance)的猜想:

? 數(shù)據(jù)一致性(consistency):如果系統(tǒng)對一個寫操作返回成功,那么之后的讀請求都必須讀到這個新數(shù)據(jù);如果返回失敗,那么所有讀操作都不能讀到這個數(shù)據(jù),對調(diào)用者而言數(shù)據(jù)具有強(qiáng)一致性(strong consistency) (又叫原子性 atomic、線性一致性 linearizable consistency)[5]

? 服務(wù)可用性(availability):所有讀寫請求在一定時間內(nèi)得到響應(yīng),可終止、不會一直等待

? 分區(qū)容錯性(partition-tolerance):在網(wǎng)絡(luò)分區(qū)的情況下,被分隔的節(jié)點(diǎn)仍能正常對外服務(wù)

Base理論

BASE理論是指,Basically Available(基本可用)、Soft-state( 軟狀態(tài)/柔性事務(wù))、Eventual Consistency(最終一致性)。是基于CAP定理演化而來,是對CAP中一致性和可用性權(quán)衡的結(jié)果。核心思想:即使無法做到強(qiáng)一致性,但每個業(yè)務(wù)根據(jù)自身的特點(diǎn),采用適當(dāng)?shù)姆绞絹硎瓜到y(tǒng)達(dá)到最終一致性。

1、基本可用:指分布式系統(tǒng)在出現(xiàn)故障的時候,允許損失部分可用性,保證核心可用。但不等價于不可用。比如:搜索引擎0.5秒返回查詢結(jié)果,但由于故障,2秒響應(yīng)查詢結(jié)果;網(wǎng)頁訪問過大時,部分用戶提供降級服務(wù),等。

2、軟狀態(tài):軟狀態(tài)是指允許系統(tǒng)存在中間狀態(tài),并且該中間狀態(tài)不會影響系統(tǒng)整體可用性。即允許系統(tǒng)在不同節(jié)點(diǎn)間副本同步的時候存在延時。

3、最終一致性:

系統(tǒng)中的所有數(shù)據(jù)副本經(jīng)過一定時間后,最終能夠達(dá)到一致的狀態(tài),不需要實(shí)時保證系統(tǒng)數(shù)據(jù)的強(qiáng)一致性。最終一致性是弱一致性的一種特殊情況。BASE理論面向的是大型高可用可擴(kuò)展的分布式系統(tǒng),通過犧牲強(qiáng)一致性來獲得可用性。ACID是傳統(tǒng)數(shù)據(jù)庫常用的概念設(shè)計(jì),追求強(qiáng)一致性模型。

ACID,指數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。

柔性事務(wù)和剛性事務(wù)

柔性事務(wù)滿足BASE理論(基本可用,最終一致)

剛性事務(wù)滿足ACID理論

本文主要圍繞分布式事務(wù)當(dāng)中的柔性事務(wù)的處理方式進(jìn)行討論。

柔性事務(wù)分為

  • 兩階段型

  • 補(bǔ)償型

  • 異步確保型

  • 最大努力通知型幾種。 由于支付寶整個架構(gòu)是SOA架構(gòu),因此傳統(tǒng)單機(jī)環(huán)境下數(shù)據(jù)庫的ACID事務(wù)滿足了分布式環(huán)境下的業(yè)務(wù)需要,以上幾種事務(wù)類似就是針對分布式環(huán)境下業(yè)務(wù)需要設(shè)定的。

  • 什么是XA接口

    XA是一個分布式事務(wù)協(xié)議,由Tuxedo提出。XA中大致分為兩部分:事務(wù)管理器和本地資源管理器。其中本地資源管理器往往由數(shù)據(jù)庫實(shí)現(xiàn),比如Oracle、DB2這些商業(yè)數(shù)據(jù)庫都實(shí)現(xiàn)了XA接口,而事務(wù)管理器作為全局的調(diào)度者,負(fù)責(zé)各個本地資源的提交和回滾。XA實(shí)現(xiàn)分布式事務(wù)的原理如下:

    什么是Jta

    作為java平臺上事務(wù)規(guī)范JTA(Java Transaction API)也定義了對XA事務(wù)的支持,實(shí)際上,JTA是基于XA架構(gòu)上建模的,在JTA 中,事務(wù)管理器抽象為javax.transaction.TransactionManager接口,并通過底層事務(wù)服務(wù)(即JTS)實(shí)現(xiàn)。像很多其他的java規(guī)范一樣,JTA僅僅定義了接口,具體的實(shí)現(xiàn)則是由供應(yīng)商(如J2EE廠商)負(fù)責(zé)提供,目前JTA的實(shí)現(xiàn)主要由以下幾種:

    1.J2EE容器所提供的JTA實(shí)現(xiàn)(JBoss)
    2.獨(dú)立的JTA實(shí)現(xiàn):如JOTM,Atomikos.這些實(shí)現(xiàn)可以應(yīng)用在那些不使用J2EE應(yīng)用服務(wù)器的環(huán)境里用以提供分布事事務(wù)保證。如Tomcat,Jetty以及普通的java應(yīng)用。

    基于XA協(xié)議的兩階段(2PC)提交

    所謂的兩個階段是指:第一階段:準(zhǔn)備階段(投票階段)和第二階段:提交階段(執(zhí)行階段)。

    XA一般由兩階段完成,稱為two-phase commit(2PC)。

    階段一為準(zhǔn)備階段,即所有的參與者準(zhǔn)備執(zhí)行事務(wù)并鎖住需要的資源。參與者ready時,向transaction manager匯報自己已經(jīng)準(zhǔn)備好。

    階段二為提交階段。當(dāng)transaction manager確認(rèn)所有參與者都ready后,向所有參與者發(fā)送commit命令。

    如下圖所示:

    XA的性能問題

    XA的性能很低。一個數(shù)據(jù)庫的事務(wù)和多個數(shù)據(jù)庫間的XA事務(wù)性能對比可發(fā)現(xiàn),性能差10倍左右。因此要盡量避免XA事務(wù),例如可以將數(shù)據(jù)寫入本地,用高性能的消息系統(tǒng)分發(fā)數(shù)據(jù)。或使用數(shù)據(jù)庫復(fù)制等技術(shù)。

    只有在這些都無法實(shí)現(xiàn),且性能不是瓶頸時才應(yīng)該使用XA。

    分布式事物解決方案

    分布式事物問題,在互聯(lián)網(wǎng)公司比較常見,例如“”分布式事物解決方案 可以使用全局事物2pc(兩段提交協(xié)議)、3pc(三段提交協(xié)議),消息中間件、tcc、gts、提供回滾接口、分布式數(shù)據(jù)庫

    2PC和3PC區(qū)別:https://blog.csdn.net/secretx/article/details/53322989
    LCN 核心采用3PC+TCC補(bǔ)償機(jī)制

    使用LCN框架解決分布式事務(wù)

    什么是LCN框架

    LCN分布式事務(wù)框架v4.0 https://www.txlcn.org
    "LCN并不生產(chǎn)事務(wù),LCN只是本地事務(wù)的搬運(yùn)工"

    框架特點(diǎn)

    兼容SpringCloud、Dubbo

    使用簡單,低依賴,代碼完全開源

    基于切面的強(qiáng)一致性事務(wù)框架

    高可用,模塊可以依賴Dubbo或SpringCloud的集群方式做集群化,TxManager也可以做集群化

    支持本地事務(wù)和分布式事務(wù)共存

    事務(wù)補(bǔ)償機(jī)制,服務(wù)故障或掛機(jī)再啟動時可恢復(fù)事務(wù)

    LCN框架原理

    參考網(wǎng)站 https://github.com/codingapi/tx-lcn/wiki/LCN%E5%8E%9F%E7%90%86

    lcn框架原理

    ?

    核心步驟

    創(chuàng)建事務(wù)組 是指在事務(wù)發(fā)起方開始執(zhí)行業(yè)務(wù)代碼之前先調(diào)用TxManager創(chuàng)建事務(wù)組對象,然后拿到事務(wù)標(biāo)示GroupId的過程。

    添加事務(wù)組 添加事務(wù)組是指參與方在執(zhí)行完業(yè)務(wù)方法以后,將該模塊的事務(wù)信息添加通知給TxManager的操作。

    關(guān)閉事務(wù)組 是指在發(fā)起方執(zhí)行完業(yè)務(wù)代碼以后,將發(fā)起方執(zhí)行結(jié)果狀態(tài)通知給TxManager的動作。當(dāng)執(zhí)行完關(guān)閉事務(wù)組的方法以后,TxManager將根據(jù)事務(wù)組信息來通知相應(yīng)的參與模塊提交或回滾事務(wù)。

    總結(jié)

    以上是生活随笔為你收集整理的分布式事务解决方案框架(LCN)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 性插免费视频 | 午夜伦伦电影理论片费看 | 亚洲黄色在线观看 | 亚洲男人的天堂网站 | 国产一级淫片a视频免费观看 | 波多野结衣一二三区 | 欧美第三页 | 国产精品久久av无码一区二区 | 视频在线观看一区二区 | 久久国产精品波多野结衣av | 亚洲人在线观看 | 国产视频观看 | 欧美成人精品二区三区99精品 | 九九热播视频 | 日本裸体网站 | 玖玖玖视频 | 精品国产网站 | 亚洲欧洲中文 | 久久久www成人免费毛片 | 五月综合色 | 免费亚洲一区二区 | 中文在线日韩 | 欧美韩国日本在线 | 小萝莉末成年一区二区 | 农村老熟妇乱子伦视频 | 欧美在线播放一区 | 日韩精品视频免费在线观看 | 在线观看av不卡 | 欧美一级做a爰片免费视频 成人激情在线观看 | 中文久久乱码一区二区 | jizz亚洲女人高潮大叫 | 白白色2012年最新视频 | 久久久久久国产精品一区 | 欧美激情视频一区二区三区在线播放 | 国产一区二区黄 | 肉性天堂| 午夜伦伦电影理论片费看 | 欧美日韩在线视频一区 | 欧美综合在线一区 | 国产在线观看免费网站 | 中文有码在线 | 欧洲做受高潮免费看 | 99久| 少妇婷婷 | 国产夫妻视频 | 免费污视频 | 亚洲一区二区三区人妻 | 五月婷婷开心中文字幕 | 人人射视频 | 欧美精品一卡二卡 | 欧美一二三视频 | 欧美黄色小说 | 影音先锋91 | 处女朱莉 | 日韩av二区| 欧美国产日韩综合 | 初尝人妻少妇中文字幕 | 日韩1024| julia一区| 日韩精品一区在线观看 | 我会温柔一点的日剧 | 岛国av在线 | 337p亚洲精品色噜噜狠狠 | 一区二区 亚洲 | 天天干天天上 | 国产精品福利一区二区 | 播放灌醉水嫩大学生国内精品 | 我们俩电影网mp4动漫官网 | 国产成人在线视频观看 | 和黑帮大佬的365 | 三级黄色图片 | 国产一卡二卡在线 | 国产小视频网站 | 春色网站 | 黄色片地址 | 国产麻豆精品久久一二三 | 在线免费观看高清视频 | 国产a√精品区二区三区四区 | www毛片com | 日韩精品电影一区二区 | 久久免费精彩视频 | 久久av一区| 日韩小视频在线观看 | 婷婷综合六月 | 日本老熟妇毛茸茸 | 欧美一区二区三 | 国产亚州av| 欧美黑人三级 | 日韩一二三四区 | 久久电影一区 | 亚洲成人麻豆 | 日本熟妇一区二区 | 久久免费视频精品 | 中文字幕成人一区 | 久久精品亚洲无码 | 国产免费麻豆 | 国产一区二区三区成人 | 99精品免费视频 | 婷婷综合六月 |