《區(qū)塊鏈:技術(shù)與應(yīng)用》 課件 第1、2章 區(qū)塊鏈:從信息傳遞到價(jià)值傳遞;分布式技術(shù)_第1頁(yè)
《區(qū)塊鏈:技術(shù)與應(yīng)用》 課件 第1、2章 區(qū)塊鏈:從信息傳遞到價(jià)值傳遞;分布式技術(shù)_第2頁(yè)
《區(qū)塊鏈:技術(shù)與應(yīng)用》 課件 第1、2章 區(qū)塊鏈:從信息傳遞到價(jià)值傳遞;分布式技術(shù)_第3頁(yè)
《區(qū)塊鏈:技術(shù)與應(yīng)用》 課件 第1、2章 區(qū)塊鏈:從信息傳遞到價(jià)值傳遞;分布式技術(shù)_第4頁(yè)
《區(qū)塊鏈:技術(shù)與應(yīng)用》 課件 第1、2章 區(qū)塊鏈:從信息傳遞到價(jià)值傳遞;分布式技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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)介

第一章區(qū)塊鏈:從信息傳遞到價(jià)值傳遞新編21世紀(jì)數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)系列教材區(qū)塊鏈:技術(shù)與應(yīng)用區(qū)塊鏈的誕生0102區(qū)塊鏈發(fā)展歷程03區(qū)塊鏈基本概念目錄Contents區(qū)塊鏈:技術(shù)與應(yīng)用明確學(xué)習(xí)目標(biāo)從互聯(lián)網(wǎng)發(fā)展的角度了解區(qū)塊鏈的誕生。熟悉區(qū)塊鏈技術(shù)的發(fā)展歷程。掌握區(qū)塊鏈技術(shù)的定義、原理、特性以及核心技術(shù)。掌握三類區(qū)塊鏈(公有鏈、聯(lián)盟鏈、私有鏈——的區(qū)別,并理解區(qū)塊鏈的層級(jí)結(jié)構(gòu)。本章導(dǎo)讀00本章需要掌握的基本概念本章導(dǎo)讀00區(qū)塊鏈數(shù)字貨幣萬(wàn)維網(wǎng)價(jià)值傳遞非對(duì)稱加密分布式賬本共識(shí)機(jī)制智能合約公有鏈聯(lián)盟鏈私有鏈層級(jí)結(jié)構(gòu)熟悉本章結(jié)構(gòu)與主要內(nèi)容本章導(dǎo)讀00互聯(lián)網(wǎng)發(fā)展歷程區(qū)塊鏈:從信息傳遞到價(jià)值傳遞區(qū)塊鏈發(fā)展歷程區(qū)塊鏈的誕生區(qū)塊鏈基本概念互聯(lián)網(wǎng)設(shè)計(jì)局限區(qū)塊鏈的定義與原理區(qū)塊鏈的分類區(qū)塊鏈的層級(jí)結(jié)構(gòu)新一代互聯(lián)網(wǎng)區(qū)塊鏈1.0區(qū)塊鏈2.0區(qū)塊鏈3.0區(qū)塊鏈的誕生PART0101區(qū)塊鏈:技術(shù)與應(yīng)用區(qū)塊鏈的誕生01區(qū)塊鏈因比特幣而生。在區(qū)塊鏈發(fā)展初期,人們傾向于將區(qū)塊鏈與比特幣視為一種貨幣系統(tǒng)。但從區(qū)塊鏈的功能與發(fā)展來(lái)說(shuō),區(qū)塊鏈更像是一類價(jià)值傳輸協(xié)議。傳統(tǒng)互聯(lián)網(wǎng)是一種信息傳輸體系,稱為信息互聯(lián)網(wǎng);區(qū)塊鏈?zhǔn)且环N價(jià)值傳輸體系,稱為價(jià)值互聯(lián)網(wǎng)。兩者都被譽(yù)為改變時(shí)代的偉大技術(shù)。信息傳遞價(jià)值傳遞區(qū)塊鏈的誕生01對(duì)各行業(yè)的影響區(qū)塊鏈的誕生01互聯(lián)網(wǎng)發(fā)展歷程Web1.0時(shí)代——只讀網(wǎng)絡(luò)Web1.0時(shí)代,即1991—2004年,是萬(wàn)維網(wǎng)革命的第一階段,通常稱為只讀網(wǎng)絡(luò)。通俗來(lái)講,新浪、網(wǎng)易、搜狐等這些生活中廣泛使用的網(wǎng)站,即Web1.0時(shí)代網(wǎng)絡(luò)代表,其內(nèi)容是由編輯人員或開(kāi)發(fā)者整理并呈現(xiàn)出來(lái)的。作為一名普通的互聯(lián)網(wǎng)用戶,只能去閱讀(readonly),不能參與編寫或進(jìn)行其他操作。Web1.0時(shí)代網(wǎng)絡(luò)示意圖區(qū)塊鏈的誕生01互聯(lián)網(wǎng)發(fā)展歷程Web2.0時(shí)代——讀寫網(wǎng)絡(luò)Web2.0從2004年至今,是萬(wàn)維網(wǎng)革命的第二階段,通常稱為讀寫網(wǎng)絡(luò)。它也稱為參與式社交網(wǎng)絡(luò),社交網(wǎng)絡(luò)包含許多在線工具和平臺(tái),人們可以在其中分享自己的觀點(diǎn)、意見(jiàn)、想法和經(jīng)驗(yàn),它突出了用戶生成的內(nèi)容、可用性和最終用戶的互操作性。互聯(lián)網(wǎng)用戶不再僅是應(yīng)用程序的使用者,更是參與者。Web2.0時(shí)代網(wǎng)絡(luò)示意圖區(qū)塊鏈的誕生01互聯(lián)網(wǎng)設(shè)計(jì)局限Web2.0時(shí)代——讀寫網(wǎng)絡(luò)在闡述當(dāng)前互聯(lián)網(wǎng)的設(shè)計(jì)局限前先看一看傳統(tǒng)的Web2.0應(yīng)用程序是如何工作的Web2.0應(yīng)用程序工作流程圖區(qū)塊鏈的誕生01互聯(lián)網(wǎng)設(shè)計(jì)局限Web2.0時(shí)代局限性隱私泄露:應(yīng)用程序的所有數(shù)據(jù)都存儲(chǔ)在由企業(yè)、公司等個(gè)體控制的集中式服務(wù)器上,但凡集中式服務(wù)器受到攻擊,數(shù)據(jù)安全將很難保障,某些不良企業(yè)也存在販賣用戶信息以牟取利益的情況;不良競(jìng)爭(zhēng):在平臺(tái)發(fā)展的中后期,隨著其用戶數(shù)量的增加和影響力的提升,平臺(tái)與用戶和早期相關(guān)利益者的博弈關(guān)系便會(huì)由原本的合作轉(zhuǎn)為零和博弈。例如,平臺(tái)為了繼續(xù)保持增長(zhǎng)態(tài)勢(shì),會(huì)做出利用用戶數(shù)據(jù)進(jìn)行不良競(jìng)爭(zhēng)的行為,這在很大程度上限制了互聯(lián)網(wǎng)生態(tài)的長(zhǎng)遠(yuǎn)、繁榮發(fā)展及內(nèi)部的創(chuàng)新。其他問(wèn)題:傳播端過(guò)剩、渠道過(guò)載、用戶注意力短缺、無(wú)法滿足用戶的價(jià)值需求等注:零和博弈指的是在博弈過(guò)程中,所有參與者的總收益和總損失相抵,結(jié)果總和為零。在這種博弈中,一方的得益總是以另一方的損失為代價(jià)。區(qū)塊鏈的誕生01新一代互聯(lián)網(wǎng)Web3.0時(shí)代——新一代互聯(lián)網(wǎng)Web3.0旨在創(chuàng)建一個(gè)去中心化但安全的互聯(lián)網(wǎng),人們可以在其中安全地交換金錢和信息,而無(wú)需中間商或大型科技公司。Web3.0將是一個(gè)不依賴任何中心組織、完全由用戶掌控的時(shí)代。具有如下特點(diǎn):用戶自主管理身份、賦予用戶真正的數(shù)據(jù)自主權(quán)、提升用戶在算法面前的自主權(quán)、建立全新的信任與協(xié)作關(guān)系。Web3.0時(shí)代網(wǎng)絡(luò)示意圖區(qū)塊鏈的誕生01新一代互聯(lián)網(wǎng)由上述可知,以信息傳遞為主導(dǎo)的傳統(tǒng)互聯(lián)網(wǎng)正逐漸向以價(jià)值傳遞為主導(dǎo)的新一代互聯(lián)網(wǎng)轉(zhuǎn)型。資料來(lái)源:/blockchain/roll/2022-07-28/doc-imizirav5710924.shtml區(qū)塊鏈發(fā)展歷程PART0202區(qū)塊鏈:技術(shù)與應(yīng)用區(qū)塊鏈1.002比特幣的誕生是區(qū)塊鏈1.0時(shí)代到來(lái)的標(biāo)志。在這個(gè)時(shí)期,區(qū)塊鏈技術(shù)的發(fā)展與數(shù)字貨幣(也稱為加密貨幣或虛擬貨幣)密切相關(guān),比特幣是數(shù)字貨幣的典型代表,區(qū)塊鏈技術(shù)的應(yīng)用普遍集中在數(shù)字貨幣的轉(zhuǎn)移、兌換與支付等方面。從某種意義上講,這個(gè)時(shí)期的區(qū)塊鏈技術(shù)找到了一種能夠使貨幣與支付去中心化的方案。區(qū)塊鏈2.002區(qū)塊鏈1.0時(shí)代誕生的虛擬貨幣沒(méi)有實(shí)際應(yīng)用落地,只有投機(jī)價(jià)值、交易價(jià)值。區(qū)塊鏈2.0時(shí)代將智能合約與貨幣相結(jié)合,為金融領(lǐng)域提供了更加廣泛的應(yīng)用場(chǎng)景?;趨^(qū)塊鏈可編程的特點(diǎn),人們嘗試將智能合約添加到區(qū)塊鏈系統(tǒng)中,形成可編程金融。比特幣、以太坊對(duì)比示意圖區(qū)塊鏈3.002區(qū)塊鏈3.0是指區(qū)塊鏈在金融行業(yè)之外的各行業(yè)的應(yīng)用場(chǎng)景,能夠滿足更加復(fù)雜的商業(yè)邏輯。區(qū)塊鏈3.0是價(jià)值互聯(lián)網(wǎng)的內(nèi)核。區(qū)塊鏈能夠?qū)γ總€(gè)互聯(lián)網(wǎng)中代表價(jià)值的信息和字節(jié)進(jìn)行產(chǎn)權(quán)確認(rèn)、計(jì)量和存儲(chǔ),從而實(shí)現(xiàn)資產(chǎn)在區(qū)塊鏈上可被追蹤、控制和交易。區(qū)塊鏈3.0將和互聯(lián)網(wǎng)一樣,成為基礎(chǔ)設(shè)施。區(qū)塊鏈會(huì)超越金融領(lǐng)域,進(jìn)入社會(huì)公證、智能化領(lǐng)域。區(qū)塊鏈3.0主要應(yīng)用于社會(huì)治理領(lǐng)域,包括身份認(rèn)證、公證、仲裁、審計(jì)、域名、物流、醫(yī)療、郵件、簽證、投票等,應(yīng)用范圍擴(kuò)大到了整個(gè)社會(huì),區(qū)塊鏈技術(shù)有可能成為“萬(wàn)物互聯(lián)”的一種最底層的協(xié)議??傮w來(lái)說(shuō),區(qū)塊鏈1.0是區(qū)塊鏈技術(shù)的萌芽,區(qū)塊鏈2.0是區(qū)塊鏈在金融、智能合約方向的技術(shù)落地,而區(qū)塊鏈3.0是解決各行業(yè)的互信問(wèn)題與數(shù)據(jù)傳遞安全性的技術(shù)落地和實(shí)現(xiàn)。區(qū)塊鏈基本概念PART0303區(qū)塊鏈:技術(shù)與應(yīng)用區(qū)塊鏈基本概念03區(qū)塊鏈的定義與原理區(qū)塊鏈技術(shù)本質(zhì)區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫(kù),由一串?dāng)?shù)據(jù)塊組成。它的每個(gè)數(shù)據(jù)塊中都包含了一次網(wǎng)絡(luò)交易的信息,而這些都是用于驗(yàn)證其信息的有效性和生成下一個(gè)區(qū)塊的。區(qū)塊是構(gòu)成區(qū)塊鏈這個(gè)數(shù)據(jù)庫(kù)的基本單位,其中包含一定時(shí)間內(nèi)產(chǎn)生的無(wú)法被篡改的數(shù)據(jù)記錄信息。區(qū)塊中包含數(shù)據(jù)記錄、當(dāng)前區(qū)塊的根哈希(hash)、前一區(qū)塊的根哈希、時(shí)間戳及其他信息,如下圖所示。區(qū)塊鏈結(jié)構(gòu)示意圖0203040501安全性除非能夠控制系統(tǒng)中全部數(shù)據(jù)節(jié)點(diǎn)的51%,否則就無(wú)法肆意操控和修改網(wǎng)絡(luò)數(shù)據(jù),這使區(qū)塊鏈本身變得相對(duì)安全,避免了主觀人為的數(shù)據(jù)變更,因此區(qū)塊鏈的數(shù)據(jù)穩(wěn)定性和可靠性極高。匿名性區(qū)塊鏈技術(shù)解決了節(jié)點(diǎn)間的信任問(wèn)題,因此在數(shù)據(jù)交換或交易時(shí),各區(qū)塊節(jié)點(diǎn)的身份信息不需要公開(kāi)或驗(yàn)證,信息傳遞可以匿名進(jìn)行。獨(dú)立性區(qū)塊鏈基于協(xié)商一致的規(guī)范和整個(gè)區(qū)塊鏈系統(tǒng)不依賴其他第三方,所有節(jié)點(diǎn)能夠在系統(tǒng)內(nèi)自動(dòng)安全地驗(yàn)證、交換數(shù)據(jù),不需要任何人為的干預(yù)。去中心化區(qū)塊鏈技術(shù)通過(guò)分布式核算和存儲(chǔ),各個(gè)節(jié)點(diǎn)實(shí)現(xiàn)了信息的自我驗(yàn)證、傳遞和管理。開(kāi)放性區(qū)塊鏈技術(shù)基礎(chǔ)是開(kāi)源的,除了交易各方的私有信息被加密外,區(qū)塊鏈的數(shù)據(jù)對(duì)所有人開(kāi)放。區(qū)塊鏈基本概念03區(qū)塊鏈的特性區(qū)塊鏈基本概念03區(qū)塊鏈的核心技術(shù)區(qū)塊鏈核心技術(shù)示意圖區(qū)塊鏈的分類ABC公有鏈指全世界任何人都可讀取、發(fā)送交易進(jìn)行有效性確認(rèn),都能參與其共識(shí)過(guò)程的區(qū)塊鏈。公有鏈的典型應(yīng)用包括比特幣、以太坊等。公有鏈私有鏈參與的節(jié)點(diǎn)有嚴(yán)格的權(quán)限管理。在完全私有的區(qū)塊鏈中,寫入權(quán)限僅在參與者手里,讀取權(quán)限可對(duì)外開(kāi)放,也可以進(jìn)行任意程度的限制。私有鏈聯(lián)盟鏈指參與區(qū)塊鏈的節(jié)點(diǎn)是事先選擇好的,也可以是內(nèi)部的,即“部分去中心化”,典型應(yīng)用于現(xiàn)如今的金融機(jī)構(gòu)間。聯(lián)盟鏈區(qū)塊鏈基本概念03區(qū)塊鏈基本概念03三類區(qū)塊鏈特征對(duì)比

公有鏈聯(lián)盟鏈私有鏈參與者任何人自由進(jìn)出聯(lián)盟成員個(gè)體或公司內(nèi)部共識(shí)機(jī)制PoW/PoS/DPoS分布式一致性算法分布式一致性算法記賬人所有參與者聯(lián)盟成員協(xié)商確定自定義激勵(lì)機(jī)制需要可選不需要中心化程度去中心化多中心化(多)中心化突出特點(diǎn)信用的自建立效率和成本優(yōu)化透明和可追溯承載能力3~20萬(wàn)筆/秒1000~1萬(wàn)筆/秒1000~10萬(wàn)筆/秒典型場(chǎng)景虛擬貨幣支付、結(jié)算審計(jì)、發(fā)行(6)應(yīng)用層區(qū)塊鏈的各種應(yīng)用場(chǎng)景和案例,智能合約、鏈碼和去中心化應(yīng)用程序構(gòu)成了應(yīng)用層。包括但不限于在數(shù)字貨幣、金融領(lǐng)域、實(shí)體經(jīng)濟(jì)的各類實(shí)踐應(yīng)用。區(qū)塊鏈的層級(jí)結(jié)構(gòu)區(qū)塊鏈基本概念03(4)激勵(lì)層激勵(lì)層其實(shí)就是所謂的挖礦機(jī)制,挖礦機(jī)制也可以理解成激勵(lì)機(jī)制:節(jié)點(diǎn)為區(qū)塊鏈系統(tǒng)做了多少貢獻(xiàn),就可以得到多少獎(jiǎng)勵(lì)。(2)網(wǎng)絡(luò)層網(wǎng)絡(luò)層是區(qū)塊鏈的網(wǎng)絡(luò)系統(tǒng),本質(zhì)上是一個(gè)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),網(wǎng)絡(luò)中的所有資源和服務(wù)都是分配在各個(gè)節(jié)點(diǎn)手中的,信息的傳輸也是兩個(gè)節(jié)點(diǎn)之間直接往來(lái)就可以。(5)合約層合約層主要包括各種腳本、代碼、算法機(jī)制及智能合約,是區(qū)塊鏈可編程的基礎(chǔ)?!爸悄芎霞s”便屬于合約層這個(gè)層級(jí)上。(3)共識(shí)層共識(shí)層是讓高度分散的節(jié)點(diǎn)在去中心化的區(qū)塊鏈網(wǎng)絡(luò)中達(dá)成共識(shí),是核心技術(shù)之一,也是區(qū)塊鏈社區(qū)的治理機(jī)制。目前主流的共識(shí)機(jī)制算法有:POW、POS、DPOS等等。(1)數(shù)據(jù)層數(shù)據(jù)層我們可以理解成區(qū)塊鏈的數(shù)據(jù)庫(kù),只不過(guò)對(duì)于區(qū)塊鏈來(lái)講,這個(gè)數(shù)據(jù)庫(kù)是不可篡改的、分布式的數(shù)據(jù)庫(kù),也就是所謂的“分布式賬本”。區(qū)塊鏈:技術(shù)與應(yīng)用謝謝聆聽(tīng)區(qū)塊鏈:技術(shù)與應(yīng)用第二章分布式技術(shù)新編21世紀(jì)數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)系列教材區(qū)塊鏈:技術(shù)與應(yīng)用分布式系統(tǒng)架構(gòu)0102分布式存儲(chǔ)03分布式網(wǎng)絡(luò)目錄Contents區(qū)塊鏈:技術(shù)與應(yīng)用明確學(xué)習(xí)目標(biāo)了解各種分布式系統(tǒng)架構(gòu)及其優(yōu)缺點(diǎn)。理解ACID,了解FLP原理、CAP理論和BASE理論。了解分布式系統(tǒng)在數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)處理邏輯方面的各種設(shè)計(jì)及其優(yōu)缺點(diǎn)。掌握分布式哈希表和Kademlia協(xié)議。本章導(dǎo)讀00本章需要掌握的基本概念本章導(dǎo)讀00分布式系統(tǒng)架構(gòu)分布式存儲(chǔ)分布式系統(tǒng)業(yè)務(wù)處理P2P分布式哈希表Kademlia協(xié)議熟悉本章結(jié)構(gòu)與主要內(nèi)容本章導(dǎo)讀00系統(tǒng)架構(gòu)的概念分布式技術(shù)分布式存儲(chǔ)分布式系統(tǒng)架構(gòu)分布式網(wǎng)絡(luò)分布式系統(tǒng)介紹分布式系統(tǒng)理論數(shù)據(jù)存儲(chǔ)多機(jī)房架構(gòu)P2P網(wǎng)絡(luò)簡(jiǎn)介分布式哈希表Kademlia協(xié)議分布式系統(tǒng)架構(gòu)PART0101區(qū)塊鏈:技術(shù)與應(yīng)用分布式系統(tǒng)架構(gòu)01分布式技術(shù)是一種基于網(wǎng)絡(luò)的計(jì)算機(jī)處理技術(shù),隨著個(gè)人計(jì)算機(jī)性能的極大提高和使用的普及,將處理能力分布到網(wǎng)絡(luò)中的所有計(jì)算機(jī)上成為可能。分布式系統(tǒng)是一組計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)相互連接傳遞消息與通信,并協(xié)調(diào)它們的行為而形成的系統(tǒng)。系統(tǒng)架構(gòu)分布式系統(tǒng)分布式系統(tǒng)架構(gòu)01系統(tǒng)架構(gòu)架構(gòu)是系統(tǒng)設(shè)計(jì)中的逐步抽象和優(yōu)化過(guò)程。最初,系統(tǒng)的功能簡(jiǎn)單,通常在單臺(tái)服務(wù)器上完成所有任務(wù)。隨著用戶增加,系統(tǒng)的業(yè)務(wù)邏輯和數(shù)據(jù)存儲(chǔ)變得復(fù)雜,開(kāi)始分開(kāi)部署。進(jìn)一步發(fā)展時(shí),可能需要引入反向代理服務(wù)器、讀寫分離等優(yōu)化方案,以提升系統(tǒng)性能、可用性、可擴(kuò)展性和可維護(hù)性。性能可用性可擴(kuò)展性可維護(hù)性分布式系統(tǒng)架構(gòu)就是為了實(shí)現(xiàn)系統(tǒng)的高性能、高可用性、可擴(kuò)展性、可維護(hù)性等目標(biāo)而進(jìn)行的一系列優(yōu)化過(guò)程。分布式系統(tǒng)架構(gòu)01分布式系統(tǒng)系統(tǒng)的架構(gòu)是由單體架構(gòu)不斷向分布式架構(gòu)演進(jìn)的。單體架構(gòu)單體主要指兩個(gè)概念:一是業(yè)務(wù)功能模塊沒(méi)有拆分,統(tǒng)一歸總到一個(gè)服務(wù)包里;二是運(yùn)行服務(wù)器沒(méi)有做切分,都放在同一臺(tái)服務(wù)器上。優(yōu)點(diǎn)開(kāi)發(fā)測(cè)試簡(jiǎn)單;部署運(yùn)維方便缺點(diǎn)框架更新復(fù)雜;各功能間依賴嚴(yán)重;可用性和性能有瓶頸分布式系統(tǒng)架構(gòu)01分布式系統(tǒng)分布式架構(gòu)又細(xì)分為分層架構(gòu)、面向服務(wù)的架構(gòu)和微服務(wù)架構(gòu)。分層架構(gòu)也稱為多層體系架構(gòu),是指將系統(tǒng)按照業(yè)務(wù)抽象出不同層,每層與上一層服務(wù)之間是層調(diào)用的限制關(guān)系,同時(shí)也可以降低系統(tǒng)不同層之間的依賴關(guān)系。分層架構(gòu)優(yōu)點(diǎn)開(kāi)發(fā)效率高;系統(tǒng)內(nèi)各部分間依賴程度低;維護(hù)成本低;標(biāo)準(zhǔn)化程度高,模塊可復(fù)用性強(qiáng)缺點(diǎn)表示層數(shù)據(jù)的改動(dòng)可能會(huì)導(dǎo)致其他相關(guān)層邏輯的修改,在該場(chǎng)景下的開(kāi)發(fā)效率會(huì)因此而降低分布式系統(tǒng)架構(gòu)01分布式系統(tǒng)分布式架構(gòu)又細(xì)分為分層架構(gòu)、面向服務(wù)的架構(gòu)和微服務(wù)架構(gòu)。面向服務(wù)的架構(gòu)是一種組件服務(wù)化的架構(gòu)模式,它將業(yè)務(wù)按照不同的功能拆分成不同的服務(wù),并在服務(wù)之間通過(guò)定義一些良好的接口和協(xié)議進(jìn)行通信;同時(shí)這些接口獨(dú)立于各種系統(tǒng)、平臺(tái)和語(yǔ)言,能夠?qū)崿F(xiàn)跨平臺(tái)的兼容和處理,實(shí)現(xiàn)一種統(tǒng)一通用的交互方式。面向服務(wù)的架構(gòu)優(yōu)點(diǎn)服務(wù)業(yè)務(wù)價(jià)值高;響應(yīng)速度快;復(fù)用性強(qiáng)缺點(diǎn)系統(tǒng)整體復(fù)雜度高;服務(wù)間通信開(kāi)銷大;有時(shí)會(huì)因過(guò)度拆分而影響系統(tǒng)的整體性能和穩(wěn)定性;小規(guī)模應(yīng)用程序中適用性較差分布式系統(tǒng)架構(gòu)01分布式系統(tǒng)分布式架構(gòu)又細(xì)分為分層架構(gòu)、面向服務(wù)的架構(gòu)和微服務(wù)架構(gòu)。微服務(wù)架構(gòu)從面向服務(wù)的架構(gòu)衍生而來(lái),更強(qiáng)調(diào)業(yè)務(wù)需要徹底的服務(wù)化和組件化,業(yè)務(wù)從API網(wǎng)關(guān)開(kāi)始作為系統(tǒng)的唯一入口,所有模塊都按照業(yè)務(wù)進(jìn)行拆分。微服務(wù)架構(gòu)優(yōu)點(diǎn)開(kāi)發(fā)復(fù)雜度低;微服務(wù)間依賴性低;有跨語(yǔ)言特性;獨(dú)立開(kāi)發(fā)部署缺點(diǎn)鏈修改導(dǎo)致業(yè)務(wù)修改復(fù)雜;對(duì)服務(wù)進(jìn)行拆分導(dǎo)致系統(tǒng)測(cè)試復(fù)雜分布式存儲(chǔ)PART0202區(qū)塊鏈:技術(shù)與應(yīng)用分布式存儲(chǔ)02ACIDACID原子性(atomicity)在數(shù)據(jù)庫(kù)管理系統(tǒng)寫入或更新資料的過(guò)程中,為保證事務(wù)是正確可靠的,必須具備四個(gè)特性一個(gè)事務(wù)中的所有操作,要么全部完成,要么全部不完成,不會(huì)在中間某個(gè)環(huán)節(jié)結(jié)束。一致性(consistency)在事務(wù)開(kāi)始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫(kù)的完整性沒(méi)有被破壞。隔離性(isolation)數(shù)據(jù)庫(kù)允許多個(gè)并發(fā)事務(wù)同時(shí)對(duì)其數(shù)據(jù)進(jìn)行讀寫和修改,隔離性可以防止多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)由于交叉執(zhí)行而導(dǎo)致的數(shù)據(jù)不一致。持久性(durability)事務(wù)處理結(jié)束后,對(duì)數(shù)據(jù)的修改就是永久的,即便系統(tǒng)出現(xiàn)故障也不會(huì)丟失分布式存儲(chǔ)02FLP原理在分布式系統(tǒng)中,異步是指系統(tǒng)中各個(gè)節(jié)點(diǎn)可能存在較大的時(shí)鐘差異,同時(shí)消息傳輸時(shí)間是任意長(zhǎng)的,各節(jié)點(diǎn)對(duì)消息處理的時(shí)間也可能是任意長(zhǎng)的,這就導(dǎo)致無(wú)法判斷某個(gè)消息遲遲沒(méi)有被響應(yīng)是節(jié)點(diǎn)故障還是傳輸故障。FLP原理指出,在網(wǎng)絡(luò)可靠但允許節(jié)點(diǎn)失效的最小化異步模型系統(tǒng)中,不存在可以解決一致性問(wèn)題的確定性共識(shí)算法。這個(gè)原理實(shí)際上說(shuō)明,對(duì)于允許節(jié)點(diǎn)失效的情況,純粹的異步模型系統(tǒng)無(wú)法確保一致性在有限時(shí)間內(nèi)完成,不存在在任何場(chǎng)景下都能實(shí)現(xiàn)共識(shí)的算法。分布式存儲(chǔ)02CAP理論CAP數(shù)據(jù)一致性(consistency)評(píng)價(jià)分布式系統(tǒng)常見(jiàn)的三個(gè)指標(biāo)為:數(shù)據(jù)一致性、系統(tǒng)可用性和分區(qū)容錯(cuò)性共享數(shù)據(jù)副本之間呈現(xiàn)出統(tǒng)一且實(shí)時(shí)的數(shù)據(jù)內(nèi)容。系統(tǒng)可用性(availability)所有數(shù)據(jù)操作總會(huì)在一定時(shí)間內(nèi)得到響應(yīng)。分區(qū)容錯(cuò)性(partitiontolerance)分布式系統(tǒng)在遇到某節(jié)點(diǎn)或網(wǎng)絡(luò)分區(qū)出現(xiàn)故障時(shí),仍然能夠?qū)ν馓峁M足數(shù)據(jù)一致性和系統(tǒng)可用性的服務(wù)。分布式存儲(chǔ)02BASE理論BASE理論由CAP理論演化而來(lái),它的核心思想是如果一個(gè)系統(tǒng)無(wú)法做到強(qiáng)一致性,那么可以依據(jù)業(yè)務(wù)自身的特性采取適當(dāng)?shù)姆椒ㄊ瓜到y(tǒng)達(dá)到最終一致性。基本可用基本可用是相對(duì)于高可用而言的,它表示的是系統(tǒng)在出現(xiàn)故障時(shí)還可以使用,只是有一定損失,例如響應(yīng)速度變慢,功能有所損失。軟狀態(tài)軟狀態(tài)是相對(duì)于原子性處理而言的,原子性處理要求所有階段都保持一致,做到一致成功或一致失敗,而軟狀態(tài)允許在不影響系統(tǒng)可用性的前提下,出現(xiàn)中間不一致的狀態(tài)。最終一致性軟狀態(tài)只是一個(gè)中間狀態(tài),所以在業(yè)務(wù)允許的時(shí)間范圍內(nèi)需要做到最終一致,這個(gè)時(shí)間取決于網(wǎng)絡(luò)延遲、系統(tǒng)負(fù)載、數(shù)據(jù)復(fù)制方案設(shè)計(jì)等因素。02數(shù)據(jù)存儲(chǔ)高可用角度下分布式系統(tǒng)架構(gòu)在數(shù)據(jù)存儲(chǔ)方面主要指兩個(gè)層面,從服務(wù)器層面講是雙機(jī)架構(gòu),從數(shù)據(jù)層面講是數(shù)據(jù)多副本。一般將單機(jī)房場(chǎng)景下的兩臺(tái)服務(wù)器配合實(shí)現(xiàn)高可用稱為雙機(jī)架構(gòu),常見(jiàn)的雙機(jī)架構(gòu)有主備模式、主從模式和雙主模式。主備模式主從模式雙主模式優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單缺點(diǎn):資源利用不足,運(yùn)維成本高優(yōu)點(diǎn):解決資源浪費(fèi)問(wèn)題,提升線上讀取數(shù)據(jù)性能缺點(diǎn):業(yè)務(wù)需要感知主從數(shù)據(jù)庫(kù),故障需人工介入適用于對(duì)數(shù)據(jù)一致性不敏感場(chǎng)景分布式存儲(chǔ)02數(shù)據(jù)存儲(chǔ)高可用角度下分布式系統(tǒng)架構(gòu)在數(shù)據(jù)存儲(chǔ)方面主要指兩個(gè)層面,從服務(wù)器層面講是雙機(jī)架構(gòu),從數(shù)據(jù)層面講是數(shù)據(jù)多副本。全量數(shù)據(jù)多副本數(shù)據(jù)分片多副本存儲(chǔ)模式雖然實(shí)現(xiàn)簡(jiǎn)單,但數(shù)據(jù)恢復(fù)效率低、數(shù)據(jù)寫入性能成為瓶頸演變數(shù)據(jù)寫入性能好;數(shù)據(jù)恢復(fù)效率高;擴(kuò)容便捷分布式存儲(chǔ)分布式存儲(chǔ)02多機(jī)房架構(gòu)業(yè)務(wù)的多機(jī)房部署現(xiàn)在已經(jīng)比較常見(jiàn),相較于單機(jī)房部署,多機(jī)房部署在擴(kuò)展性、容災(zāi)能力和系統(tǒng)性能方面都具有優(yōu)勢(shì)。依照數(shù)據(jù)的讀寫特性,多機(jī)房架構(gòu)可以分為如下四類:跨機(jī)房寫、消息隊(duì)列寫、雙向?qū)懸约坝脩羟蟹???鐧C(jī)房寫架構(gòu)圖片來(lái)源:謝文輝.分布式應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)踐.人民郵電出版社;2022:134.優(yōu)點(diǎn)實(shí)現(xiàn)簡(jiǎn)單缺點(diǎn)對(duì)機(jī)房間專線的依賴較大,僅適合讀多寫少的場(chǎng)景分布式存儲(chǔ)02多機(jī)房架構(gòu)依照數(shù)據(jù)的讀寫特性,多機(jī)房架構(gòu)可以分為如下四類:跨機(jī)房寫、消息隊(duì)列寫、雙向?qū)懸约坝脩羟蟹帧O㈥?duì)列寫架構(gòu)優(yōu)點(diǎn)避免網(wǎng)絡(luò)抖動(dòng)帶來(lái)寫入故障;提升寫入性能圖片來(lái)源:

溫馨提示

  • 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)論