熟女少妇人妻中文字幕,日韩一区二区在线观看视频,日本熟妇人妻xxxxx,少妇av,日日夜夜噜噜视频

首頁 > 留學(xué)資訊 > 加拿大留學(xué)輔導(dǎo) > 康卡迪亞大學(xué)前5種分布式系統(tǒng)設(shè)計模式

康卡迪亞大學(xué)前5種分布式系統(tǒng)設(shè)計模式

作者:海馬 發(fā)布時間:2023-10-09 16:55:06

分布式應(yīng)用是現(xiàn)代軟件開發(fā)行業(yè)不可或缺的一部分。它們是云存儲服務(wù)的支柱,使網(wǎng)絡(luò)應(yīng)用程序能夠高度響應(yīng)。當(dāng)程序員開發(fā)這些系統(tǒng)時,他們需要一些基本的構(gòu)件,作為使用通用詞匯進(jìn)行交流的起點(diǎn)。這就是分布式系統(tǒng)設(shè)計模式的價值所在。今天,我們將介紹 5 種最重要的分布式系統(tǒng)設(shè)計模式,讓你了解它們的優(yōu)缺點(diǎn)以及何時使用。
康卡迪亞大學(xué)前5種分布式系統(tǒng)設(shè)計模式

一、什么是分布式系統(tǒng)設(shè)計模式?

設(shè)計模式是構(gòu)建系統(tǒng)的行之有效的方法,每種模式都適用于特定的用例。它們不是實(shí)現(xiàn),而是構(gòu)建系統(tǒng)的抽象方法。大多數(shù)設(shè)計模式都是多年來由許多不同的開發(fā)人員開發(fā)和更新的,因此它們通常是非常有效的起點(diǎn)。

設(shè)計模式是構(gòu)建模塊,程序員可以利用現(xiàn)有的知識,而不是為每個系統(tǒng)從頭開始。它們還能創(chuàng)建一套標(biāo)準(zhǔn)的系統(tǒng)設(shè)計模式,幫助其他開發(fā)人員了解自己的項(xiàng)目如何與特定系統(tǒng)協(xié)同工作。

創(chuàng)造性設(shè)計模式為創(chuàng)建新對象提供了基礎(chǔ)。結(jié)構(gòu)模式定義了解決方案的整體結(jié)構(gòu)。行為模式描述對象及其相互通信的方式。

分布式系統(tǒng)設(shè)計模式是用于開發(fā)分布式系統(tǒng)的設(shè)計模式,分布式系統(tǒng)本質(zhì)上是計算機(jī)和數(shù)據(jù)中心的集合,對終端用戶而言,它們就像一臺計算機(jī)。這些分布式設(shè)計模式概述了軟件架構(gòu),以確定不同節(jié)點(diǎn)如何相互通信、哪些節(jié)點(diǎn)負(fù)責(zé)哪些任務(wù)以及不同任務(wù)的流程。

這些模式通常用于大規(guī)模分布式云計算系統(tǒng)和可擴(kuò)展微服務(wù)軟件系統(tǒng)的架構(gòu)設(shè)計。

二、分布式設(shè)計模式的類型

大多數(shù)分布式設(shè)計模式根據(jù)其功能可分為以下三類。

1.對象通信:描述系統(tǒng)不同組件間通信的消息傳遞協(xié)議和權(quán)限。

2.安全性:解決保密性、完整性和可用性方面的問題,確保系統(tǒng)免受未經(jīng)授權(quán)的訪問。

3.事件驅(qū)動: 描述系統(tǒng)事件的生成、檢測、使用和響應(yīng)的模式。

三、前5種分布式系統(tǒng)設(shè)計模式

1. 命令和信息請求責(zé)任分離(CQRS)

CQRS 模型側(cè)重于分離分布式系統(tǒng)的讀寫操作,以提高可擴(kuò)展性和安全性。這種模式使用命令將數(shù)據(jù)寫入持久內(nèi)存,使用查詢查找和檢索數(shù)據(jù)。后者由接收用戶請求的指揮中心管理。然后,指揮中心檢索數(shù)據(jù)并進(jìn)行必要的修改,保存數(shù)據(jù)并通知讀取服務(wù)。然后,閱讀服務(wù)會更新閱讀模型,向用戶顯示所做的更改。

a.優(yōu)點(diǎn)

通過委托任務(wù)降低系統(tǒng)復(fù)雜性。

明確區(qū)分業(yè)務(wù)邏輯和驗(yàn)證。

有助于根據(jù)任務(wù)對流程進(jìn)行分類。

減少對共享數(shù)據(jù)的意外更改。

減少可訪問修改數(shù)據(jù)的實(shí)體數(shù)量。

b.缺點(diǎn)

需要在控制模型和讀取模型之間持續(xù)通信。

發(fā)送高吞吐量請求時可能會增加延遲。

服務(wù)進(jìn)程之間沒有通信手段。

c.使用案例

CQRS 非常適合數(shù)據(jù)密集型應(yīng)用,如 SQL 或 NoSQL 數(shù)據(jù)庫管理系統(tǒng)。它還適用于數(shù)據(jù)密集型微服務(wù)架構(gòu)。它非常適合管理具有持久狀態(tài)的應(yīng)用程序,因?yàn)閷懭肫?讀取器分離有助于管理持久狀態(tài)。

2.兩階段承諾(2PC)

2PC 與 CQRS 類似,都采用事務(wù)處理方式,并依賴于中央命令,但會根據(jù)分區(qū)的類型和完成階段來處理分區(qū)。兩個階段是準(zhǔn)備階段和承諾階段,前者是中央命令指示服務(wù)準(zhǔn)備數(shù)據(jù),后者是服務(wù)發(fā)送準(zhǔn)備好的數(shù)據(jù)的信號。

2PC 系統(tǒng)中的所有服務(wù)默認(rèn)都處于封鎖狀態(tài),這意味著它們不能發(fā)送數(shù)據(jù)。當(dāng)服務(wù)被鎖定時,它們會完成準(zhǔn)備階段,以便在解鎖時發(fā)送數(shù)據(jù)。協(xié)調(diào)器依次解鎖服務(wù)并請求它們發(fā)送數(shù)據(jù)。如果某個服務(wù)尚未準(zhǔn)備好發(fā)送數(shù)據(jù),協(xié)調(diào)器就會切換到另一個服務(wù)。當(dāng)所有準(zhǔn)備就緒的數(shù)據(jù)都已發(fā)送完畢時,所有服務(wù)都會解除阻塞,等待協(xié)調(diào)者的新任務(wù)。

2PC 從根本上確保了一次只能執(zhí)行一個服務(wù),使流程比 CQRS 更靈活、更一致。

a.優(yōu)點(diǎn)

由于不存在相互競爭的請求,因此運(yùn)行穩(wěn)定可靠。

可擴(kuò)展性強(qiáng),可像處理單機(jī)數(shù)據(jù)一樣輕松處理大型數(shù)據(jù)集。

允許同時隔離和共享數(shù)據(jù)。

b.缺點(diǎn)

不容錯,由于同步操作,容易出現(xiàn)死鎖和崩潰。

與其他設(shè)計模式相比,需要更多資源。

c.使用案例

2PC 是處理高風(fēng)險交易的分布式系統(tǒng)的理想選擇,在這種系統(tǒng)中,準(zhǔn)確性比資源效率更重要。即使在大規(guī)模系統(tǒng)中,它也很可靠,出錯時也很容易追蹤。

3 Saga

Saga 是一種異步模型,它不使用中央控制器,而是完全在服務(wù)之間進(jìn)行通信。它解決了上述同步模型的一些缺點(diǎn)。

Saga 使用事件總線,允許服務(wù)在微服務(wù)系統(tǒng)中相互通信。總線在服務(wù)之間發(fā)送和接收請求,每個參與服務(wù)都會創(chuàng)建一個本地事務(wù)。然后,參與的服務(wù)發(fā)布一個事件,其他服務(wù)可以接收到該事件。所有事件都會被其他服務(wù)監(jiān)聽。收到事件的服務(wù)首先執(zhí)行請求的操作。如果該服務(wù)沒有執(zhí)行該操作,則會將其發(fā)送給其他服務(wù)。

這種結(jié)構(gòu)類似于 2PC 結(jié)構(gòu),因?yàn)槿绻渲幸粋€服務(wù)無法執(zhí)行任務(wù),就會輪流執(zhí)行。不過,Saga 去掉了中央控制元素,以更好地管理流程并減少所需的反饋信息數(shù)量。

a.優(yōu)勢

單個服務(wù)可處理更長時間的交易。

去中心化使其成為分布式系統(tǒng)的理想選擇。

減少服務(wù)間通信造成的瓶頸。

b.缺點(diǎn)

異步自治使得難以跟蹤執(zhí)行單個任務(wù)的服務(wù)。

復(fù)雜的協(xié)調(diào)導(dǎo)致故障排除困難。

與以前的模式相比,服務(wù)的隔離度較低。

c.使用案例

Saga 的分散式方法非常適合同時處理多個并行請求的可擴(kuò)展無服務(wù)器功能。AWS 將基于 Saga 的模型用于許多功能,如 step 和 lambda 功能。

4.重復(fù)負(fù)載平衡服務(wù)(RLBS)

RLBS 模式是最簡單也是使用最廣泛的規(guī)劃模式。在最基本的層面上,它由多個相同的服務(wù)組成,所有服務(wù)都向中央負(fù)載平衡器報告。每個服務(wù)都能執(zhí)行任務(wù),并能在出現(xiàn)故障時進(jìn)行故障切換。負(fù)載平衡器接收來自終端用戶的請求,并使用循環(huán)分配或有時更復(fù)雜的路由算法在各服務(wù)之間分配請求。

雙服務(wù)可確保應(yīng)用程序保持用戶請求的高可用性,并能在服務(wù)實(shí)例出現(xiàn)故障時重新分配工作。

RLBS 通常與 Azure Kubernetes 結(jié)合使用,后者是微軟開發(fā)的開源容器編排技術(shù),可根據(jù)工作流自動擴(kuò)展服務(wù)。

a.優(yōu)勢

從終端用戶的角度來看,性能穩(wěn)定。

從損壞的服務(wù)中快速恢復(fù)。

服務(wù)越多,可擴(kuò)展性越高。

并行運(yùn)行良好。

b.缺點(diǎn)

負(fù)載平衡算法下的性能不一致。

需要大量資源來管理服務(wù)。

c.使用方法

RLBS 適用于全天工作負(fù)載不穩(wěn)定但需要保持低延遲的前端系統(tǒng),如 Netflix 或 Amazon Prime 等在線娛樂應(yīng)用。

5.分片服務(wù)

除基于復(fù)制的項(xiàng)目外,另一種方法是創(chuàng)建精選服務(wù),每個服務(wù)只處理一種特定類型的請求。這就是所謂的 "分片",因?yàn)槟銓⒄埱罅髁糠殖闪嗽S多不同的部分。例如,你可以讓一個分片服務(wù)接受所有緩存請求,而另一個分片服務(wù)只處理高優(yōu)先級請求。負(fù)載平衡器會評估收到的每個請求,并將其分配給相應(yīng)的分區(qū)來處理。

分片服務(wù)通常用于創(chuàng)建狀態(tài)服務(wù),因?yàn)閷τ诜莻€人容器來說,狀態(tài)規(guī)模往往太大。分片可確保單個分區(qū)根據(jù)狀態(tài)大小進(jìn)行擴(kuò)展。

此外,分片服務(wù)還能更快地處理高優(yōu)先級請求。專用于高優(yōu)先級請求的分區(qū)可在請求到達(dá)時立即處理,而無需排隊。

a.分片服務(wù)的優(yōu)點(diǎn)

可以交錯處理日常請求。

便于對申請進(jìn)行優(yōu)先排序。

自然排序,易于組合。

b.缺點(diǎn)

維護(hù)大量分段可能需要很多資源。

如果分段使用過多,可能會導(dǎo)致生產(chǎn)力下降。

c.使用方法

當(dāng)系統(tǒng)收到的查詢類型不平衡,但某些查詢具有優(yōu)先權(quán)時,最適合使用分區(qū)服務(wù)。

海馬課堂專業(yè)課程預(yù)習(xí),輔導(dǎo)不滿意隨心退,3500+嚴(yán)選碩博學(xué)霸師資,針對學(xué)生的薄弱科目和學(xué)校教學(xué)進(jìn)度,匹配背景相符的導(dǎo)師,根據(jù)學(xué)生情況進(jìn)行1V1專屬備課,上課時間靈活安排,中英雙語詳細(xì)講解課程中的考點(diǎn)、難點(diǎn)問題,并提供多方位的課前預(yù)習(xí),輔助學(xué)生掌握全部課程知識,補(bǔ)足短板。

相關(guān)熱詞搜索:

閱讀原文:http://cheshan.cn/news/15663_59.html

版權(quán)作品,未經(jīng)海馬課堂 highmarktutor.com 書面授權(quán),嚴(yán)禁轉(zhuǎn)載,違者將被追究法律責(zé)任。

熱門課程推薦

24h在線客服

400-111-0321

數(shù)十萬留學(xué)生
共同選擇

關(guān)注我們:

備案號:遼ICP備19007957號-1 聆聽您的聲音:feedback@highmark.com.cn企業(yè)熱線:400-778-8318

Copyright ?2015- 海馬課堂網(wǎng)絡(luò)科技(大連)有限公司辦公地址:遼寧省大連市高新技術(shù)產(chǎn)業(yè)園區(qū)火炬路32A號創(chuàng)業(yè)大廈A座18層1801室

歡迎咨詢

hmkt088