MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法_第1頁(yè)
MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法_第2頁(yè)
MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法_第3頁(yè)
MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法_第4頁(yè)
MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/1MySql數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法第一部分分布式事務(wù)概述 2第二部分XA協(xié)議原理解析 4第三部分Paxos算法核心思想 6第四部分Raft算法選主流程 9第五部分Zab協(xié)議日志復(fù)制機(jī)制 14第六部分Two-PhaseCommit協(xié)議分析 17第七部分Saga模式補(bǔ)償機(jī)制詳解 19第八部分EventualConsistency最終一致性 21

第一部分分布式事務(wù)概述關(guān)鍵詞關(guān)鍵要點(diǎn)【分布式事務(wù)概述】:

1.分布式事務(wù)是指跨越多個(gè)數(shù)據(jù)庫(kù)或系統(tǒng)的事務(wù),這些數(shù)據(jù)庫(kù)或系統(tǒng)可能位于不同的服務(wù)器或網(wǎng)絡(luò)上;

2.分布式事務(wù)的目標(biāo)是確保所有涉及數(shù)據(jù)庫(kù)或系統(tǒng)的數(shù)據(jù)操作都以協(xié)調(diào)一致的方式執(zhí)行,即使在發(fā)生故障的情況下也是如此;

3.分布式事務(wù)通常使用兩階段提交協(xié)議(2PC)來(lái)實(shí)現(xiàn),該協(xié)議確保所有參與者都同意提交事務(wù)或回滾事務(wù),從而保證數(shù)據(jù)的一致性。

【分布式一致性算法】:

分布式事務(wù)概述

分布式事務(wù)是指涉及多個(gè)數(shù)據(jù)源的事務(wù),這些數(shù)據(jù)源可能是位于不同的物理位置或由不同的數(shù)據(jù)庫(kù)系統(tǒng)管理。分布式事務(wù)的目的是確保所有參與者都以一致的方式完成或回滾事務(wù)。

分布式事務(wù)與本地事務(wù)的主要區(qū)別在于,本地事務(wù)只涉及單個(gè)數(shù)據(jù)源,而分布式事務(wù)涉及多個(gè)數(shù)據(jù)源。這使得分布式事務(wù)的實(shí)現(xiàn)更加復(fù)雜,也帶來(lái)了更多的問(wèn)題,比如:

*一致性問(wèn)題:如何確保所有參與者都以一致的方式完成或回滾事務(wù)?

*隔離性問(wèn)題:如何防止一個(gè)事務(wù)的影響對(duì)其他事務(wù)可見(jiàn)?

*持久性問(wèn)題:如何確保事務(wù)的結(jié)果即使在系統(tǒng)發(fā)生故障時(shí)也能持久保存?

*原子性問(wèn)題:如何確保事務(wù)要么全部完成,要么全部回滾?

為了解決這些問(wèn)題,分布式事務(wù)系統(tǒng)通常使用各種協(xié)議來(lái)協(xié)調(diào)參與者之間的通信和操作。常用的協(xié)議包括:

*兩階段提交協(xié)議(2PC):2PC協(xié)議是一種基于鎖的分布式事務(wù)協(xié)議,它要求所有參與者在提交事務(wù)之前都必須獲得鎖。如果任何參與者無(wú)法獲得鎖,則整個(gè)事務(wù)將回滾。

*三階段提交協(xié)議(3PC):3PC協(xié)議是一種基于投票的分布式事務(wù)協(xié)議,它要求所有參與者在提交事務(wù)之前都必須進(jìn)行投票。如果任何參與者投了反對(duì)票,則整個(gè)事務(wù)將回滾。

*最終一致性協(xié)議:最終一致性協(xié)議是一種不需要所有參與者在同一時(shí)刻達(dá)成一致的分布式事務(wù)協(xié)議。它允許參與者在一段時(shí)間內(nèi)保持不一致的狀態(tài),但最終它們將達(dá)成一致。

分布式事務(wù)是分布式系統(tǒng)中的一個(gè)重要概念,它可以確保多個(gè)數(shù)據(jù)源之間的事務(wù)以一致的方式完成或回滾。分布式事務(wù)協(xié)議是解決分布式事務(wù)各種問(wèn)題的重要工具。

以下是分布式事務(wù)的一些常見(jiàn)應(yīng)用場(chǎng)景:

*電子商務(wù):在電子商務(wù)系統(tǒng)中,分布式事務(wù)可以用于協(xié)調(diào)多個(gè)服務(wù)之間的操作,比如訂單處理、庫(kù)存管理和支付。

*金融:在金融系統(tǒng)中,分布式事務(wù)可以用于協(xié)調(diào)多個(gè)銀行之間的轉(zhuǎn)賬操作。

*制造:在制造系統(tǒng)中,分布式事務(wù)可以用于協(xié)調(diào)多個(gè)工廠之間的生產(chǎn)操作。

分布式事務(wù)是一個(gè)復(fù)雜且具有挑戰(zhàn)性的問(wèn)題,但它也是一個(gè)非常重要的概念。通過(guò)使用分布式事務(wù)協(xié)議,我們可以構(gòu)建出可靠且可擴(kuò)展的分布式系統(tǒng)。第二部分XA協(xié)議原理解析關(guān)鍵詞關(guān)鍵要點(diǎn)【XA協(xié)議概述】:

1.XA協(xié)議全稱是X/OpenXA,它是一種分布式事務(wù)處理協(xié)議,用于確保在多個(gè)數(shù)據(jù)庫(kù)之間進(jìn)行分布式事務(wù)時(shí)的一致性。

2.XA協(xié)議定義了兩個(gè)關(guān)鍵的角色:事務(wù)管理器(TM)和資源管理器(RM)。TM負(fù)責(zé)協(xié)調(diào)分布式事務(wù),而RM負(fù)責(zé)管理參與分布式事務(wù)的數(shù)據(jù)庫(kù)。

3.XA協(xié)議提供了一組接口,允許TM和RM進(jìn)行通信,以便TM能夠控制分布式事務(wù)的執(zhí)行,并確保RM能夠正確地提交或回滾事務(wù)。

【XA協(xié)議的階段】:

#XA協(xié)議原理解析

一、概述

XA(eXtendedArchitecture)協(xié)議是分布式事務(wù)處理環(huán)境中的一種工業(yè)標(biāo)準(zhǔn)協(xié)議,它定義了應(yīng)用程序和事務(wù)管理器(TransactionManager,TM)之間以及TM和資源管理器(ResourceManager,RM)之間的事務(wù)處理接口。XA協(xié)議允許應(yīng)用程序在多個(gè)數(shù)據(jù)庫(kù)或其他資源管理器上執(zhí)行分布式事務(wù),并確保這些事務(wù)的一致性、完整性、隔離性和原子性。

二、XA協(xié)議的主要組件

XA協(xié)議的主要組件包括:

1.應(yīng)用程序:負(fù)責(zé)發(fā)起分布式事務(wù)并協(xié)調(diào)參與該事務(wù)的各個(gè)資源管理器。

2.事務(wù)管理器(TM):負(fù)責(zé)協(xié)調(diào)分布式事務(wù)的執(zhí)行,并確保事務(wù)的原子性、一致性、隔離性和持久性。

3.資源管理器(RM):負(fù)責(zé)管理事務(wù)中涉及的資源,如數(shù)據(jù)庫(kù)、消息隊(duì)列等。

三、XA協(xié)議的工作流程

XA協(xié)議的工作流程可以分為以下幾個(gè)步驟:

1.XASTART:應(yīng)用程序調(diào)用TM的XASTART操作,以啟動(dòng)一個(gè)新的分布式事務(wù)。TM為該事務(wù)分配一個(gè)唯一的ID,并將該ID告知應(yīng)用程序。

2.XAJOIN:應(yīng)用程序調(diào)用RM的XAJOIN操作,以將RM加入到分布式事務(wù)中。RM接受XAJOIN請(qǐng)求后,將分配一個(gè)資源管理器ID,并將該ID告知TM。

3.XAEND:應(yīng)用程序調(diào)用TM的XAEND操作,以結(jié)束分布式事務(wù)。TM將該事務(wù)的狀態(tài)設(shè)置為準(zhǔn)備提交(PreparetoCommit),并向參與該事務(wù)的所有RM發(fā)送XAEND請(qǐng)求。

4.XAPREPARE:RM收到XAEND請(qǐng)求后,將執(zhí)行XAPREPARE操作。XAPREPARE操作會(huì)將該資源管理器在事務(wù)中所做的所有修改記錄下來(lái),但不會(huì)提交這些修改。XAPREPARE操作完成后,RM將向TM返回一個(gè)準(zhǔn)備狀態(tài)(Prepared)。

5.XACOMMIT或XAROLLBACK:TM收到所有RM的XAPREPARE操作的準(zhǔn)備狀態(tài)后,將根據(jù)應(yīng)用程序的提交或回滾請(qǐng)求,分別調(diào)用RM的XACOMMIT或XAROLLBACK操作。RM收到XACOMMIT或XAROLLBACK請(qǐng)求后,將分別提交或回滾事務(wù)中的所有修改。

四、XA協(xié)議的優(yōu)點(diǎn)與缺點(diǎn)

XA協(xié)議的優(yōu)點(diǎn)包括:

1.跨平臺(tái)性:XA協(xié)議是跨平臺(tái)的,可以在不同的操作系統(tǒng)和硬件平臺(tái)上使用。

2.語(yǔ)言無(wú)關(guān)性:XA協(xié)議是語(yǔ)言無(wú)關(guān)的,可以用任何編程語(yǔ)言編寫(xiě)應(yīng)用程序來(lái)使用XA協(xié)議。

3.可靠性:XA協(xié)議具有較高的可靠性,可以確保分布式事務(wù)的一致性、完整性、隔離性和原子性。

XA協(xié)議的缺點(diǎn)包括:

1.性能開(kāi)銷(xiāo):XA協(xié)議的執(zhí)行會(huì)帶來(lái)一定的性能開(kāi)銷(xiāo),這主要是由于XA協(xié)議需要在TM和RM之間進(jìn)行多次通信。

2.復(fù)雜性:XA協(xié)議的實(shí)現(xiàn)比較復(fù)雜,這主要是由于XA協(xié)議需要考慮多種情況,如應(yīng)用程序異常終止、RM異常終止、網(wǎng)絡(luò)故障等。

五、XA協(xié)議的應(yīng)用場(chǎng)景

XA協(xié)議廣泛應(yīng)用于分布式數(shù)據(jù)庫(kù)系統(tǒng)、分布式文件系統(tǒng)、分布式消息隊(duì)列等領(lǐng)域。XA協(xié)議可以確保這些系統(tǒng)中的分布式事務(wù)的一致性、完整性、隔離性和原子性,從而保證這些系統(tǒng)的可靠性和穩(wěn)定性。第三部分Paxos算法核心思想關(guān)鍵詞關(guān)鍵要點(diǎn)【Paxos算法核心思想】:

1.Paxos算法是一種分布式一致性算法,旨在解決分布式系統(tǒng)中的一致性問(wèn)題,確保所有副本的副本都具有相同的值。

2.Paxos算法的核心思想是通過(guò)一個(gè)稱為“共識(shí)協(xié)議”的過(guò)程來(lái)達(dá)成一致。共識(shí)協(xié)議要求所有節(jié)點(diǎn)都同意一個(gè)值,并且該值一旦被同意,就不可改變。

3.Paxos算法的工作原理是通過(guò)一個(gè)稱為“提議者”的節(jié)點(diǎn)向所有節(jié)點(diǎn)發(fā)送一個(gè)提議值。每個(gè)節(jié)點(diǎn)收到提議值后,會(huì)將其存儲(chǔ)在自己的本地存儲(chǔ)中,并向提議者發(fā)送一個(gè)“接受”或“拒絕”消息。

4.提議者在收到一定數(shù)量的“接受”消息后,會(huì)將提議值提交給所有節(jié)點(diǎn)。節(jié)點(diǎn)在收到提交消息后,會(huì)將提議值寫(xiě)入自己的本地存儲(chǔ)中。

【Paxos算法的優(yōu)缺點(diǎn)】:

#Paxos算法核心思想

Paxos算法是一種分布式一致性算法,用于在分布式系統(tǒng)中達(dá)成共識(shí)。其核心思想是通過(guò)一個(gè)被稱為“提案者”的節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送提議,并收集其他節(jié)點(diǎn)的投票,最終選出被大多數(shù)節(jié)點(diǎn)接受的提案,從而達(dá)成共識(shí)。Paxos算法的核心思想可以概括為以下幾個(gè)方面:

1.提議者和參與者

Paxos算法中,節(jié)點(diǎn)分為提議者和參與者兩種角色。提議者負(fù)責(zé)提出提案,參與者負(fù)責(zé)對(duì)提案進(jìn)行投票。每個(gè)節(jié)點(diǎn)都可以是提議者或參與者,但通常情況下,一個(gè)節(jié)點(diǎn)只能同時(shí)擔(dān)任其中一種角色。

2.提議和投票

提議者向參與者發(fā)送提案,參與者對(duì)提案進(jìn)行投票。提案由提案號(hào)和提案值兩部分組成。提案號(hào)用于標(biāo)識(shí)提案,提案值是提案的內(nèi)容。參與者對(duì)提案的投票分為兩種:接受和拒絕。

3.多數(shù)派原則

Paxos算法遵循多數(shù)派原則,即只有當(dāng)提案被大多數(shù)參與者接受時(shí),才被認(rèn)為是達(dá)成共識(shí)。如果一個(gè)提案被大多數(shù)參與者拒絕,則該提案被認(rèn)為是失敗的。

4.領(lǐng)導(dǎo)者選舉

Paxos算法中,有一個(gè)特殊的節(jié)點(diǎn)被稱為“領(lǐng)導(dǎo)者”。領(lǐng)導(dǎo)者負(fù)責(zé)協(xié)調(diào)提議和投票過(guò)程,并最終選出被大多數(shù)參與者接受的提案。領(lǐng)導(dǎo)者通過(guò)選舉產(chǎn)生,選舉過(guò)程遵循多數(shù)派原則。

5.日志復(fù)制

Paxos算法還包含一個(gè)日志復(fù)制機(jī)制。每個(gè)節(jié)點(diǎn)都維護(hù)一個(gè)日志,其中記錄了所有被大多數(shù)參與者接受的提案。當(dāng)一個(gè)新提案被大多數(shù)參與者接受時(shí),該提案被添加到所有節(jié)點(diǎn)的日志中。

#Paxos算法的優(yōu)點(diǎn)

Paxos算法具有以下優(yōu)點(diǎn):

1.一致性

Paxos算法可以保證分布式系統(tǒng)中的所有節(jié)點(diǎn)最終達(dá)成共識(shí),即所有節(jié)點(diǎn)對(duì)同一個(gè)提案都有相同的接受或拒絕結(jié)果。

2.容錯(cuò)性

Paxos算法可以容忍節(jié)點(diǎn)故障,即使在某些節(jié)點(diǎn)發(fā)生故障的情況下,也可以繼續(xù)工作。

3.高效性

Paxos算法是一種高效的一致性算法,其時(shí)間復(fù)雜度為O(nlogn),其中n是參與者節(jié)點(diǎn)的數(shù)量。

#Paxos算法的缺點(diǎn)

Paxos算法也有一些缺點(diǎn),包括:

1.復(fù)雜性

Paxos算法比較復(fù)雜,實(shí)現(xiàn)難度較大。

2.延遲

Paxos算法需要經(jīng)過(guò)多輪投票才能達(dá)成共識(shí),因此可能會(huì)產(chǎn)生一定程度的延遲。

3.可擴(kuò)展性

Paxos算法的可擴(kuò)展性有限,當(dāng)參與者節(jié)點(diǎn)數(shù)量較多時(shí),算法的效率可能會(huì)降低。

#Paxos算法的應(yīng)用

Paxos算法廣泛應(yīng)用于分布式系統(tǒng)中,包括分布式數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)、分布式鎖服務(wù)等。一些著名的分布式系統(tǒng),如谷歌的Spanner、亞馬遜的DynamoDB、微軟的AzureCosmosDB等,都使用了Paxos算法或其變種來(lái)實(shí)現(xiàn)分布式一致性。

Paxos算法是一個(gè)非常重要的分布式一致性算法,其核心思想是通過(guò)提案、投票和多數(shù)派原則來(lái)達(dá)成共識(shí)。Paxos算法具有很強(qiáng)的容錯(cuò)性和高效率,但也有復(fù)雜性和延遲等缺點(diǎn)。Paxos算法廣泛應(yīng)用于分布式系統(tǒng)中,包括分布式數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)和分布式鎖服務(wù)等。第四部分Raft算法選主流程關(guān)鍵詞關(guān)鍵要點(diǎn)Raft算法選主流程概述

1.當(dāng)一個(gè)日志存儲(chǔ)節(jié)點(diǎn)發(fā)生故障或網(wǎng)絡(luò)中斷時(shí),其他日志存儲(chǔ)節(jié)點(diǎn)將啟動(dòng)選舉過(guò)程。

2.選舉過(guò)程以“請(qǐng)求投票(RequestVote)”消息開(kāi)始,該消息由候選日志存儲(chǔ)節(jié)點(diǎn)發(fā)送給其他日志存儲(chǔ)節(jié)點(diǎn)。

3.收到“請(qǐng)求投票”消息的日志存儲(chǔ)節(jié)點(diǎn)將回應(yīng)“投票”消息或“拒絕投票”消息。

4.如果一個(gè)候選日志存儲(chǔ)節(jié)點(diǎn)獲得大多數(shù)日志存儲(chǔ)節(jié)點(diǎn)的選票,那么它將成為領(lǐng)導(dǎo)者。

請(qǐng)求投票消息

1.“請(qǐng)求投票”消息包含候選日志存儲(chǔ)節(jié)點(diǎn)的任期號(hào)和最近的日志條目索引號(hào)。

2.如果接收“請(qǐng)求投票”消息的日志存儲(chǔ)節(jié)點(diǎn)的任期號(hào)小于候選日志存儲(chǔ)節(jié)點(diǎn)的任期號(hào),那么它將投票給候選日志存儲(chǔ)節(jié)點(diǎn)。

3.如果接收“請(qǐng)求投票”消息的日志存儲(chǔ)節(jié)點(diǎn)的任期號(hào)大于或等于候選日志存儲(chǔ)節(jié)點(diǎn)的任期號(hào),那么它將拒絕投票給候選日志存儲(chǔ)節(jié)點(diǎn)。

投票階段

1.在投票階段,候選日志存儲(chǔ)節(jié)點(diǎn)向其他日志存儲(chǔ)節(jié)點(diǎn)發(fā)送“請(qǐng)求投票”消息。

2.收到“請(qǐng)求投票”消息的日志存儲(chǔ)節(jié)點(diǎn)將回應(yīng)“投票”消息或“拒絕投票”消息。

3.如果一個(gè)候選日志存儲(chǔ)節(jié)點(diǎn)獲得大多數(shù)日志存儲(chǔ)節(jié)點(diǎn)的選票,那么它將成為領(lǐng)導(dǎo)者。

領(lǐng)導(dǎo)人選舉

1.領(lǐng)導(dǎo)人選舉是Raft算法的核心過(guò)程。

2.領(lǐng)導(dǎo)人選舉過(guò)程確保只有一個(gè)領(lǐng)導(dǎo)者存在。

3.領(lǐng)導(dǎo)者負(fù)責(zé)日志復(fù)制和客戶端請(qǐng)求。

日志復(fù)制

1.領(lǐng)導(dǎo)者將日志條目復(fù)制到其他日志存儲(chǔ)節(jié)點(diǎn)。

2.其他日志存儲(chǔ)節(jié)點(diǎn)將日志條目追加到自己的日志中。

3.日志復(fù)制過(guò)程確保所有日志存儲(chǔ)節(jié)點(diǎn)都具有相同的日志。

客戶端請(qǐng)求處理

1.客戶端將請(qǐng)求發(fā)送給領(lǐng)導(dǎo)者。

2.領(lǐng)導(dǎo)者將請(qǐng)求轉(zhuǎn)發(fā)給其他日志存儲(chǔ)節(jié)點(diǎn)。

3.其他日志存儲(chǔ)節(jié)點(diǎn)執(zhí)行請(qǐng)求并向領(lǐng)導(dǎo)者發(fā)送響應(yīng)。

4.領(lǐng)導(dǎo)者將響應(yīng)轉(zhuǎn)發(fā)給客戶端。MySQL數(shù)據(jù)庫(kù)分布式事務(wù)一致性算法介紹

#概述

在分布式系統(tǒng)中,由于不同節(jié)點(diǎn)之間存在網(wǎng)絡(luò)延遲、節(jié)點(diǎn)故障等問(wèn)題,難以保證事務(wù)的原子性、一致性、隔離性和持久性(ACID)。為了解決這一問(wèn)題,需要使用分布式事務(wù)一致性算法來(lái)保證分布式事務(wù)的ACID特性。

#流行的一致性算法

-2PC算法(兩階段提交協(xié)議)

2PC算法是分布式系統(tǒng)中常用的分布式事務(wù)一致性算法。它將事務(wù)的提交分為兩個(gè)階段:準(zhǔn)備階段和提交階段。在準(zhǔn)備階段,協(xié)調(diào)者向所有參與者發(fā)送準(zhǔn)備請(qǐng)求,參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為準(zhǔn)備提交狀態(tài),并向協(xié)調(diào)者發(fā)送準(zhǔn)備響應(yīng)。在提交階段,協(xié)調(diào)者向所有參與者發(fā)送提交請(qǐng)求,參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為已提交狀態(tài),并向協(xié)調(diào)者發(fā)送提交響應(yīng)。如果協(xié)調(diào)者在準(zhǔn)備階段或提交階段遇到故障,則整個(gè)事務(wù)將回滾。

-3PC算法(三階段提交協(xié)議)

3PC算法是2PC算法的改進(jìn)版本,它在2PC算法的基礎(chǔ)上增加了一個(gè)預(yù)提交階段。在預(yù)提交階段,協(xié)調(diào)者向所有參與者發(fā)送預(yù)提交請(qǐng)求,參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為預(yù)提交狀態(tài),并向協(xié)調(diào)者發(fā)送預(yù)提交響應(yīng)。在提交階段,協(xié)調(diào)者向所有參與者發(fā)送提交請(qǐng)求,參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為已提交狀態(tài),并向協(xié)調(diào)者發(fā)送提交響應(yīng)。如果協(xié)調(diào)者在預(yù)提交階段、提交階段或提交后遇到故障,則整個(gè)事務(wù)將回滾。

-Paxos算法

Paxos算法是一種基于共識(shí)的分布式事務(wù)一致性算法。它使用多數(shù)派投票的方式來(lái)決定事務(wù)的提交或回滾。Paxos算法分為兩個(gè)階段:提議階段和接受階段。在提議階段,協(xié)調(diào)者向參與者發(fā)送提議請(qǐng)求,參與者收到請(qǐng)求后,將提議請(qǐng)求中的事務(wù)內(nèi)容記錄到本地日志中,并向協(xié)調(diào)者發(fā)送接受響應(yīng)。在接受階段,協(xié)調(diào)者向參與者發(fā)送接受請(qǐng)求,參與者收到請(qǐng)求后,將本地日志中的事務(wù)內(nèi)容提交到數(shù)據(jù)庫(kù)中,并向協(xié)調(diào)者發(fā)送已提交響應(yīng)。如果協(xié)調(diào)者在提議階段或接受階段遇到故障,則整個(gè)事務(wù)將回滾。

-Raft算法

Raft算法是一種基于共識(shí)的分布式事務(wù)一致性算法。它使用領(lǐng)導(dǎo)者選舉的方式來(lái)決定事務(wù)的提交或回滾。Raft算法分為三個(gè)階段:領(lǐng)導(dǎo)者選舉階段、日志復(fù)制階段和提交階段。在領(lǐng)導(dǎo)者選舉階段,參與者通過(guò)投票的方式選舉出領(lǐng)導(dǎo)者。在日志復(fù)制階段,領(lǐng)導(dǎo)者將事務(wù)內(nèi)容復(fù)制到其他參與者的日志中。在提交階段,領(lǐng)導(dǎo)者向參與者發(fā)送提交請(qǐng)求,參與者收到請(qǐng)求后,將本地日志中的事務(wù)內(nèi)容提交到數(shù)據(jù)庫(kù)中,并向協(xié)調(diào)者發(fā)送已提交響應(yīng)。如果領(lǐng)導(dǎo)者在日志復(fù)制階段或提交階段遇到故障,則整個(gè)事務(wù)將回滾。

#算法流程

2PC算法流程

1.協(xié)調(diào)者向所有參與者發(fā)送準(zhǔn)備請(qǐng)求。

2.參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為準(zhǔn)備提交狀態(tài),并向協(xié)調(diào)者發(fā)送準(zhǔn)備響應(yīng)。

3.協(xié)調(diào)者收到所有參與者的準(zhǔn)備響應(yīng)后,向所有參與者發(fā)送提交請(qǐng)求。

4.參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為已提交狀態(tài),并向協(xié)調(diào)者發(fā)送提交響應(yīng)。

3PC算法流程

1.協(xié)調(diào)者向所有參與者發(fā)送預(yù)提交請(qǐng)求。

2.參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為預(yù)提交狀態(tài),并向協(xié)調(diào)者發(fā)送預(yù)提交響應(yīng)。

3.協(xié)調(diào)者收到所有參與者的預(yù)提交響應(yīng)后,向所有參與者發(fā)送提交請(qǐng)求。

4.參與者收到請(qǐng)求后,將本地事務(wù)狀態(tài)更新為已提交狀態(tài),并向協(xié)調(diào)者發(fā)送已提交響應(yīng)。

Paxos算法流程

1.協(xié)調(diào)者向參與者發(fā)送提議請(qǐng)求。

2.參與者收到請(qǐng)求后,將提議請(qǐng)求中的事務(wù)內(nèi)容記錄到本地日志中,并向協(xié)調(diào)者發(fā)送接受響應(yīng)。

3.協(xié)調(diào)者收到大多數(shù)參與者的接受響應(yīng)后,向參與者發(fā)送接受請(qǐng)求。

4.參與者收到請(qǐng)求后,將本地日志中的事務(wù)內(nèi)容提交到數(shù)據(jù)庫(kù)中,并向協(xié)調(diào)者發(fā)送已提交響應(yīng)。

Raft算法流程

1.參與者通過(guò)投票的方式選舉出領(lǐng)導(dǎo)者。

2.領(lǐng)導(dǎo)者將事務(wù)內(nèi)容復(fù)制到其他參與者的日志中。

3.領(lǐng)導(dǎo)者向參與者發(fā)送提交請(qǐng)求。

4.參與者收到請(qǐng)求后,將本地日志中的事務(wù)內(nèi)容提交到數(shù)據(jù)庫(kù)中,并向協(xié)調(diào)者發(fā)送已提交響應(yīng)。第五部分Zab協(xié)議日志復(fù)制機(jī)制關(guān)鍵詞關(guān)鍵要點(diǎn)Zab協(xié)議的特點(diǎn)

1.Zab協(xié)議是一種基于Paxos算法的分布式一致性協(xié)議,用于保證分布式系統(tǒng)中數(shù)據(jù)的強(qiáng)一致性。

2.Zab協(xié)議采用了主從復(fù)制的架構(gòu),其中一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),其他節(jié)點(diǎn)作為從節(jié)點(diǎn)。主節(jié)點(diǎn)負(fù)責(zé)寫(xiě)入操作,從節(jié)點(diǎn)負(fù)責(zé)讀取操作。

3.Zab協(xié)議使用一種叫做ZABstatemachine的機(jī)制來(lái)保證數(shù)據(jù)的強(qiáng)一致性。ZABstatemachine是一個(gè)狀態(tài)機(jī),它維護(hù)著系統(tǒng)中的所有數(shù)據(jù)。當(dāng)主節(jié)點(diǎn)收到一個(gè)寫(xiě)入操作時(shí),它會(huì)將這個(gè)操作應(yīng)用到ZABstatemachine上,然后將操作復(fù)制給從節(jié)點(diǎn)。從節(jié)點(diǎn)收到操作后,也會(huì)將操作應(yīng)用到ZABstatemachine上。這樣,系統(tǒng)中的所有節(jié)點(diǎn)都可以保持?jǐn)?shù)據(jù)的一致性。

Zab協(xié)議的流程

1.Zab協(xié)議的流程主要包括以下幾個(gè)階段:

-提案階段:主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送一個(gè)提案,其中包含要執(zhí)行的操作。

-投票階段:從節(jié)點(diǎn)收到提案后,對(duì)提案進(jìn)行投票。如果大多數(shù)從節(jié)點(diǎn)投票同意,則提案被接受。

-提交階段:主節(jié)點(diǎn)收到大多數(shù)從節(jié)點(diǎn)的同意票后,將提案提交給ZABstatemachine。ZABstatemachine執(zhí)行提案中的操作,并將操作的結(jié)果復(fù)制給從節(jié)點(diǎn)。

-同步階段:從節(jié)點(diǎn)收到操作結(jié)果后,將操作結(jié)果應(yīng)用到本地的數(shù)據(jù)副本上。

Zab協(xié)議的優(yōu)點(diǎn)

1.Zab協(xié)議具有很高的性能和可擴(kuò)展性。它可以在大規(guī)模的分布式系統(tǒng)中使用,并且可以處理大量的并發(fā)寫(xiě)入操作。

2.Zab協(xié)議具有很高的可靠性。它可以容忍節(jié)點(diǎn)故障和網(wǎng)絡(luò)分區(qū)。即使在少數(shù)節(jié)點(diǎn)故障的情況下,Zab協(xié)議仍然可以保證數(shù)據(jù)的強(qiáng)一致性。

3.Zab協(xié)議具有很高的可用性。它可以自動(dòng)檢測(cè)和恢復(fù)故障的節(jié)點(diǎn),從而保證系統(tǒng)的高可用性。

Zab協(xié)議的缺點(diǎn)

1.Zab協(xié)議的實(shí)現(xiàn)比較復(fù)雜。它需要在分布式系統(tǒng)中實(shí)現(xiàn)一套復(fù)雜的協(xié)議,包括主節(jié)點(diǎn)選舉、數(shù)據(jù)復(fù)制、故障檢測(cè)和恢復(fù)等機(jī)制。

2.Zab協(xié)議的性能可能會(huì)受到網(wǎng)絡(luò)延遲的影響。如果網(wǎng)絡(luò)延遲較大,則Zab協(xié)議的性能可能會(huì)下降。

3.Zab協(xié)議可能存在單點(diǎn)故障問(wèn)題。如果主節(jié)點(diǎn)發(fā)生故障,則整個(gè)分布式系統(tǒng)可能會(huì)不可用。Zab協(xié)議日志復(fù)制機(jī)制

Zab協(xié)議(ZooKeeperAtomicBroadcast)是一種分布式事務(wù)一致性算法,用于實(shí)現(xiàn)分布式系統(tǒng)的狀態(tài)機(jī)復(fù)制。它是一種基于主備模式的復(fù)制協(xié)議,由Google于2011年提出。Zab協(xié)議的主要思想是,將數(shù)據(jù)塊劃分為多個(gè)日志條目,并由一個(gè)主節(jié)點(diǎn)(稱為L(zhǎng)eader)將這些日志條目廣播給其他節(jié)點(diǎn)(稱為Follower)。Follower節(jié)點(diǎn)收到日志條目后,將其追加到自己的日志中,并應(yīng)用到自己的狀態(tài)機(jī)上。這樣,Leader節(jié)點(diǎn)和Follower節(jié)點(diǎn)的狀態(tài)機(jī)就保持一致。

Zab協(xié)議的主要特點(diǎn)

*原子性:Zab協(xié)議保證每個(gè)事務(wù)要么完全執(zhí)行,要么完全不執(zhí)行。

*一致性:Zab協(xié)議保證所有節(jié)點(diǎn)的狀態(tài)機(jī)都是一致的。

*容錯(cuò)性:Zab協(xié)議能夠容忍少數(shù)節(jié)點(diǎn)的故障。

*高可用性:Zab協(xié)議能夠保證系統(tǒng)在少數(shù)節(jié)點(diǎn)故障的情況下仍然可用。

Zab協(xié)議的工作原理

Zab協(xié)議的工作原理可以分為以下幾個(gè)步驟:

1.Leader選舉:當(dāng)一個(gè)Leader節(jié)點(diǎn)故障時(shí),系統(tǒng)會(huì)進(jìn)行Leader選舉。Leader選舉過(guò)程是通過(guò)Zab協(xié)議中的一個(gè)算法來(lái)實(shí)現(xiàn)的。該算法保證只有唯一的一個(gè)節(jié)點(diǎn)能夠成為L(zhǎng)eader節(jié)點(diǎn)。

2.日志復(fù)制:Leader節(jié)點(diǎn)將日志條目廣播給其他節(jié)點(diǎn)。Follower節(jié)點(diǎn)收到日志條目后,將其追加到自己的日志中,并應(yīng)用到自己的狀態(tài)機(jī)上。這樣,Leader節(jié)點(diǎn)和Follower節(jié)點(diǎn)的狀態(tài)機(jī)就保持一致。

3.故障恢復(fù):當(dāng)一個(gè)Follower節(jié)點(diǎn)故障時(shí),該節(jié)點(diǎn)會(huì)重新連接到Leader節(jié)點(diǎn),并從Leader節(jié)點(diǎn)獲取丟失的日志條目。然后,該節(jié)點(diǎn)將這些日志條目追加到自己的日志中,并應(yīng)用到自己的狀態(tài)機(jī)上。這樣,該節(jié)點(diǎn)的狀態(tài)機(jī)就與Leader節(jié)點(diǎn)的狀態(tài)機(jī)一致。

Zab協(xié)議的應(yīng)用

Zab協(xié)議被廣泛應(yīng)用于分布式系統(tǒng)中,如ApacheZooKeeper、HDFS、Cassandra等。這些系統(tǒng)都使用Zab協(xié)議來(lái)實(shí)現(xiàn)分布式事務(wù)一致性。

Zab協(xié)議的優(yōu)缺點(diǎn)

Zab協(xié)議的主要優(yōu)點(diǎn)是具有原子性、一致性、容錯(cuò)性和高可用性。Zab協(xié)議的主要缺點(diǎn)是性能開(kāi)銷(xiāo)較大,并且在網(wǎng)絡(luò)延遲較大的情況下可能會(huì)出現(xiàn)性能問(wèn)題。

Zab協(xié)議的總結(jié)

Zab協(xié)議是一種分布式事務(wù)一致性算法,用于實(shí)現(xiàn)分布式系統(tǒng)的狀態(tài)機(jī)復(fù)制。Zab協(xié)議具有原子性、一致性、容錯(cuò)性和高可用性。Zab協(xié)議被廣泛應(yīng)用于分布式系統(tǒng)中,如ApacheZooKeeper、HDFS、Cassandra等。第六部分Two-PhaseCommit協(xié)議分析關(guān)鍵詞關(guān)鍵要點(diǎn)【分布式事務(wù)概述】:

1.分布式事務(wù)是指多個(gè)事務(wù)同時(shí)跨多個(gè)數(shù)據(jù)庫(kù)進(jìn)行操作,以保證事務(wù)的原子性、一致性、隔離性和持久性。

2.分布式事務(wù)的實(shí)現(xiàn)可以采用各種協(xié)議,如Two-PhaseCommit協(xié)議、Three-PhaseCommit協(xié)議和Paxos協(xié)議。

3.分布式事務(wù)的實(shí)現(xiàn)需要考慮事務(wù)的協(xié)調(diào)、數(shù)據(jù)一致性、故障恢復(fù)和性能等方面。

【Two-PhaseCommit協(xié)議分析】:

#Two-PhaseCommit協(xié)議分析

一、概述

Two-PhaseCommit(2PC)協(xié)議是一種分布式數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)事務(wù)一致性的經(jīng)典協(xié)議。它由JimGray于1978年提出,是當(dāng)時(shí)分布式數(shù)據(jù)庫(kù)系統(tǒng)中使用最廣泛的事務(wù)一致性協(xié)議。2PC協(xié)議通過(guò)協(xié)調(diào)參與分布式事務(wù)的所有參與者(節(jié)點(diǎn))來(lái)確保事務(wù)的一致性。

二、2PC協(xié)議的基本原理

2PC協(xié)議將事務(wù)處理過(guò)程分為兩個(gè)階段:

1.準(zhǔn)備階段(PreparePhase):在準(zhǔn)備階段,協(xié)調(diào)者向所有參與者發(fā)送準(zhǔn)備請(qǐng)求(PrepareRequest)。參與者收到請(qǐng)求后,將執(zhí)行以下操作:

-成功執(zhí)行本地事務(wù)。

-將事務(wù)的狀態(tài)設(shè)置為“已準(zhǔn)備”(Prepared)。

-將事務(wù)的狀態(tài)和數(shù)據(jù)寫(xiě)入持久化存儲(chǔ)。

2.提交階段(CommitPhase):在提交階段,協(xié)調(diào)者向所有參與者發(fā)送提交請(qǐng)求(CommitRequest)或中止請(qǐng)求(AbortRequest)。參與者收到請(qǐng)求后,將執(zhí)行以下操作:

-如果收到提交請(qǐng)求,則提交本地事務(wù),并將事務(wù)的狀態(tài)設(shè)置為“已提交”(Committed)。

-如果收到中止請(qǐng)求,則中止本地事務(wù),并將事務(wù)的狀態(tài)設(shè)置為“已中止”(Aborted)。

三、2PC協(xié)議的優(yōu)點(diǎn)和缺點(diǎn)

優(yōu)點(diǎn):

-簡(jiǎn)單易懂:2PC協(xié)議易于理解和實(shí)現(xiàn),這使其成為分布式數(shù)據(jù)庫(kù)系統(tǒng)中使用最廣泛的事務(wù)一致性協(xié)議之一。

-可靠性強(qiáng):2PC協(xié)議保證了事務(wù)的原子性和一致性,即使在發(fā)生參與者故障或網(wǎng)絡(luò)故障的情況下,也能確保事務(wù)的正確執(zhí)行。

缺點(diǎn):

-性能開(kāi)銷(xiāo)大:2PC協(xié)議需要兩次網(wǎng)絡(luò)交互才能完成一次事務(wù),這可能會(huì)導(dǎo)致性能開(kāi)銷(xiāo)增加,尤其是在網(wǎng)絡(luò)延遲較大的情況下。

-存在死鎖風(fēng)險(xiǎn):當(dāng)多個(gè)事務(wù)同時(shí)訪問(wèn)同一個(gè)資源時(shí),可能會(huì)發(fā)生死鎖。

-擴(kuò)展性差:2PC協(xié)議難以擴(kuò)展到大型分布式數(shù)據(jù)庫(kù)系統(tǒng)中,因?yàn)閰f(xié)調(diào)者需要管理大量的事務(wù)。

四、2PC協(xié)議的優(yōu)化策略

為了提高2PC協(xié)議的性能和擴(kuò)展性,研究者提出了多種優(yōu)化策略,包括:

-優(yōu)化網(wǎng)絡(luò)交互:通過(guò)減少網(wǎng)絡(luò)交互次數(shù)來(lái)提高2PC協(xié)議的性能,例如使用單階段提交協(xié)議(One-PhaseCommit,1PC)或三階段提交協(xié)議(Three-PhaseCommit,3PC)。

-優(yōu)化死鎖檢測(cè)和處理:通過(guò)使用死鎖檢測(cè)和處理機(jī)制來(lái)避免死鎖的發(fā)生,例如使用時(shí)間戳或等待-圖檢測(cè)算法。

-優(yōu)化協(xié)調(diào)者故障處理:通過(guò)使用協(xié)調(diào)者故障處理機(jī)制來(lái)應(yīng)對(duì)協(xié)調(diào)者故障的情況,例如使用備份協(xié)調(diào)者或重新選舉協(xié)調(diào)者。

五、總結(jié)

2PC協(xié)議是一種經(jīng)典的分布式事務(wù)一致性協(xié)議,它保證了事務(wù)的原子性和一致性。但2PC協(xié)議也存在性能開(kāi)銷(xiāo)大、存在死鎖風(fēng)險(xiǎn)、擴(kuò)展性差等缺點(diǎn)。為了提高2PC協(xié)議的性能和擴(kuò)展性,研究者提出了多種優(yōu)化策略。第七部分Saga模式補(bǔ)償機(jī)制詳解Saga模式補(bǔ)償機(jī)制詳解

1.Saga模式概述

Saga模式是一種分布式事務(wù)處理模式,它將一個(gè)分布式事務(wù)分解為多個(gè)子事務(wù),每個(gè)子事務(wù)可以獨(dú)立執(zhí)行并提交。如果某個(gè)子事務(wù)失敗,則系統(tǒng)會(huì)自動(dòng)執(zhí)行補(bǔ)償事務(wù)來(lái)回滾該子事務(wù)已完成的操作。

Saga模式的優(yōu)點(diǎn)在于它可以保證分布式事務(wù)的一致性,即使在某些子事務(wù)失敗的情況下也是如此。此外,Saga模式還具有良好的擴(kuò)展性,因?yàn)樗梢院苋菀椎靥砑有碌淖邮聞?wù)。

2.Saga模式的實(shí)施

Saga模式的實(shí)施通常使用消息隊(duì)列來(lái)協(xié)調(diào)各個(gè)子事務(wù)。當(dāng)一個(gè)子事務(wù)提交時(shí),它會(huì)將一個(gè)消息發(fā)送到消息隊(duì)列。當(dāng)另一個(gè)子事務(wù)收到該消息時(shí),它就會(huì)執(zhí)行自己的操作。如果某個(gè)子事務(wù)失敗,則系統(tǒng)會(huì)將一個(gè)補(bǔ)償消息發(fā)送到消息隊(duì)列。當(dāng)另一個(gè)子事務(wù)收到該補(bǔ)償消息時(shí),它就會(huì)執(zhí)行補(bǔ)償事務(wù)來(lái)回滾該子事務(wù)已完成的操作。

3.Saga模式的補(bǔ)償機(jī)制

Saga模式的補(bǔ)償機(jī)制是一種用于回滾已經(jīng)完成的操作的機(jī)制。當(dāng)某個(gè)子事務(wù)失敗時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行補(bǔ)償事務(wù)來(lái)回滾該子事務(wù)已完成的操作。補(bǔ)償事務(wù)通常與子事務(wù)是對(duì)稱的,也就是說(shuō),補(bǔ)償事務(wù)會(huì)執(zhí)行與子事務(wù)相反的操作。

例如,如果一個(gè)子事務(wù)將數(shù)據(jù)從數(shù)據(jù)庫(kù)A復(fù)制到數(shù)據(jù)庫(kù)B,則補(bǔ)償事務(wù)會(huì)將數(shù)據(jù)從數(shù)據(jù)庫(kù)B復(fù)制回?cái)?shù)據(jù)庫(kù)A。

4.Saga模式的應(yīng)用場(chǎng)景

Saga模式可以用于多種場(chǎng)景,包括:

*分布式訂單處理

*分布式庫(kù)存管理

*分布式支付系統(tǒng)

*分布式事務(wù)管理系統(tǒng)

5.Saga模式的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

*保證分布式事務(wù)的一致性

*良好的擴(kuò)展性

*易于實(shí)現(xiàn)

缺點(diǎn):

*可能會(huì)導(dǎo)致死鎖

*可能會(huì)導(dǎo)致性能下降

*可能會(huì)導(dǎo)致數(shù)據(jù)不一致第八部分EventualConsistency最終一致性關(guān)鍵詞關(guān)鍵要點(diǎn)EventualConsistency最終一致性

1.EventualConsistency最終一致性是一種分布式系統(tǒng)中的數(shù)據(jù)一致性模型,它保證分布式系統(tǒng)中的所有副本最終都會(huì)收斂到同一個(gè)值。

2.EventualConsistency最終一致性是通過(guò)副本復(fù)制機(jī)制實(shí)現(xiàn)的,在副本復(fù)制機(jī)制中,當(dāng)主副本更新數(shù)據(jù)時(shí),會(huì)將更新的數(shù)據(jù)復(fù)制到備份副本上,備份副本收到更新的數(shù)據(jù)后,會(huì)將數(shù)據(jù)應(yīng)用到自己的數(shù)據(jù)庫(kù)中。

3.EventualConsistency最終一致性模型下,分布式系統(tǒng)中的數(shù)據(jù)可能存在短暫的短暫不一致。

最終一致性與強(qiáng)一致性的區(qū)別

1.EventualConsistency最終一致性與強(qiáng)一致性是分布式系統(tǒng)中兩種不同的數(shù)據(jù)一致性模型。

2.強(qiáng)一致性要求分布式系統(tǒng)中的所有副本在任何時(shí)刻都必須保持一致,而EventualConsistency最終一致性則允許分布式系統(tǒng)中的副本在一段時(shí)間內(nèi)存在不一致的情況。

3.強(qiáng)一致性的一致性級(jí)別更高,但實(shí)現(xiàn)難度也更大,而EventualConsistency最終一致性的一致性級(jí)別較低,但實(shí)現(xiàn)難度也較小。

EventualConsistency最終一致性的實(shí)現(xiàn)方式

1.EventualConsistency最終一致性可以通過(guò)多種方式實(shí)現(xiàn),其中最常用的方式是副本復(fù)制機(jī)制。

2.在副本復(fù)制機(jī)制中,當(dāng)主副本更新數(shù)據(jù)時(shí),會(huì)將更新的數(shù)據(jù)復(fù)制到備份副本上,備份副本收到更新的數(shù)據(jù)后,會(huì)將數(shù)據(jù)應(yīng)用到自己的數(shù)據(jù)庫(kù)中。

3.副本復(fù)制機(jī)制可以保證分布式系統(tǒng)中的副本最終都會(huì)收斂到同一個(gè)值,從而實(shí)現(xiàn)EventualConsistency最終一致性。

EventualConsistency最終一致性的應(yīng)用場(chǎng)景

1.EventualConsistency最終一致性適合于對(duì)數(shù)據(jù)一致性要求不高的場(chǎng)景,例如,社交網(wǎng)絡(luò)、論壇、電子商務(wù)等。

2.在這些場(chǎng)景中,數(shù)據(jù)的一致性并不是非常重要,即使數(shù)據(jù)存在短暫的不一致,也不會(huì)對(duì)系統(tǒng)的正常運(yùn)行造成太大的影響。

3.EventualConsistency最終一致性也可以用于對(duì)數(shù)據(jù)一致性要求較高的場(chǎng)景,但需要結(jié)合具體的情況來(lái)設(shè)計(jì)系統(tǒng)。

EventualConsistency最終一致性的優(yōu)缺點(diǎn)

1.EventualConsistency最終一致性的優(yōu)點(diǎn)是實(shí)現(xiàn)難度小,可以保證分布式系統(tǒng)的高可用性和可擴(kuò)展性。

2.EventualConsistency最終一致性的缺點(diǎn)是數(shù)據(jù)可能存在暫時(shí)的不一致,這可能會(huì)導(dǎo)致應(yīng)用程序出現(xiàn)一些問(wèn)題。

3.在使用EventualCon

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論