丁香五月激情综合_乱伦天堂_japanese中文字幕_欧美国产性爱拍拍视频_国产精品真实_久久久精品人妻无码专区不卡_在线免费观看日韩av_亚洲中久无码永久在线观看软件_日韩不卡中文字幕_一区二区无码视频_五月天色导航_国产精品99精品_精品一区二区三区视频_97超碰无码_黄色国产不卡

首頁 > 留學資訊 > 加拿大留學輔導 > 康卡迪亞大學前5種分布式系統設計模式

康卡迪亞大學前5種分布式系統設計模式

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

分布式應用是現代軟件開發行業不可或缺的一部分。它們是云存儲服務的支柱,使網絡應用程序能夠高度響應。當程序員開發這些系統時,他們需要一些基本的構件,作為使用通用詞匯進行交流的起點。這就是分布式系統設計模式的價值所在。今天,我們將介紹 5 種最重要的分布式系統設計模式,讓你了解它們的優缺點以及何時使用。
康卡迪亞大學前5種分布式系統設計模式

一、什么是分布式系統設計模式?

設計模式是構建系統的行之有效的方法,每種模式都適用于特定的用例。它們不是實現,而是構建系統的抽象方法。大多數設計模式都是多年來由許多不同的開發人員開發和更新的,因此它們通常是非常有效的起點。

設計模式是構建模塊,程序員可以利用現有的知識,而不是為每個系統從頭開始。它們還能創建一套標準的系統設計模式,幫助其他開發人員了解自己的項目如何與特定系統協同工作。

創造性設計模式為創建新對象提供了基礎。結構模式定義了解決方案的整體結構。行為模式描述對象及其相互通信的方式。

分布式系統設計模式是用于開發分布式系統的設計模式,分布式系統本質上是計算機和數據中心的集合,對終端用戶而言,它們就像一臺計算機。這些分布式設計模式概述了軟件架構,以確定不同節點如何相互通信、哪些節點負責哪些任務以及不同任務的流程。

這些模式通常用于大規模分布式云計算系統和可擴展微服務軟件系統的架構設計。

二、分布式設計模式的類型

大多數分布式設計模式根據其功能可分為以下三類。

1.對象通信:描述系統不同組件間通信的消息傳遞協議和權限。

2.安全性:解決保密性、完整性和可用性方面的問題,確保系統免受未經授權的訪問。

3.事件驅動: 描述系統事件的生成、檢測、使用和響應的模式。

三、前5種分布式系統設計模式

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

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

a.優點

通過委托任務降低系統復雜性。

明確區分業務邏輯和驗證。

有助于根據任務對流程進行分類。

減少對共享數據的意外更改。

減少可訪問修改數據的實體數量。

b.缺點

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

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

服務進程之間沒有通信手段。

c.使用案例

CQRS 非常適合數據密集型應用,如 SQL 或 NoSQL 數據庫管理系統。它還適用于數據密集型微服務架構。它非常適合管理具有持久狀態的應用程序,因為寫入器/讀取器分離有助于管理持久狀態。

2.兩階段承諾(2PC)

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

2PC 系統中的所有服務默認都處于封鎖狀態,這意味著它們不能發送數據。當服務被鎖定時,它們會完成準備階段,以便在解鎖時發送數據。協調器依次解鎖服務并請求它們發送數據。如果某個服務尚未準備好發送數據,協調器就會切換到另一個服務。當所有準備就緒的數據都已發送完畢時,所有服務都會解除阻塞,等待協調者的新任務。

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

a.優點

由于不存在相互競爭的請求,因此運行穩定可靠。

可擴展性強,可像處理單機數據一樣輕松處理大型數據集。

允許同時隔離和共享數據。

b.缺點

不容錯,由于同步操作,容易出現死鎖和崩潰。

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

c.使用案例

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

3 Saga

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

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

這種結構類似于 2PC 結構,因為如果其中一個服務無法執行任務,就會輪流執行。不過,Saga 去掉了中央控制元素,以更好地管理流程并減少所需的反饋信息數量。

a.優勢

單個服務可處理更長時間的交易。

去中心化使其成為分布式系統的理想選擇。

減少服務間通信造成的瓶頸。

b.缺點

異步自治使得難以跟蹤執行單個任務的服務。

復雜的協調導致故障排除困難。

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

c.使用案例

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

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

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

雙服務可確保應用程序保持用戶請求的高可用性,并能在服務實例出現故障時重新分配工作。

RLBS 通常與 Azure Kubernetes 結合使用,后者是微軟開發的開源容器編排技術,可根據工作流自動擴展服務。

a.優勢

從終端用戶的角度來看,性能穩定。

從損壞的服務中快速恢復。

服務越多,可擴展性越高。

并行運行良好。

b.缺點

負載平衡算法下的性能不一致。

需要大量資源來管理服務。

c.使用方法

RLBS 適用于全天工作負載不穩定但需要保持低延遲的前端系統,如 Netflix 或 Amazon Prime 等在線娛樂應用。

5.分片服務

除基于復制的項目外,另一種方法是創建精選服務,每個服務只處理一種特定類型的請求。這就是所謂的 "分片",因為你將請求流量分成了許多不同的部分。例如,你可以讓一個分片服務接受所有緩存請求,而另一個分片服務只處理高優先級請求。負載平衡器會評估收到的每個請求,并將其分配給相應的分區來處理。

分片服務通常用于創建狀態服務,因為對于非個人容器來說,狀態規模往往太大。分片可確保單個分區根據狀態大小進行擴展。

此外,分片服務還能更快地處理高優先級請求。專用于高優先級請求的分區可在請求到達時立即處理,而無需排隊。

a.分片服務的優點

可以交錯處理日常請求。

便于對申請進行優先排序。

自然排序,易于組合。

b.缺點

維護大量分段可能需要很多資源。

如果分段使用過多,可能會導致生產力下降。

c.使用方法

當系統收到的查詢類型不平衡,但某些查詢具有優先權時,最適合使用分區服務。

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

相關熱詞搜索:

閱讀原文:http://www.brains-tank.com/news/15663_59.html

版權作品,未經海馬課堂 highmarktutor.com 書面授權,嚴禁轉載,違者將被追究法律責任。

熱門課程推薦

24h在線客服

400-111-0321

數十萬留學生
共同選擇

關注我們:

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

Copyright ?2015- 海馬課堂網絡科技(大連)有限公司辦公地址:遼寧省大連市高新技術產業園區火炬路32A號創業大廈A座18層1801室

歡迎咨詢

hmkt088

精品91| 青娱乐91| 亚洲精品无码久久| 午夜成人AV| 精品一区二区三区免费毛片| 日韩一区在线播放| 国产欧美日韩在线观看| 久久国产无码| 亚色在线| 欧美日韩在线视频| 亚洲一级黄色| 91五月天| 91九色在线| 无码一二三| 毛片免费看| 91看黄片| 中文字幕精品一区| 日韩欧美在线观看| 在线免费看黄网站| 黄色香蕉视频| 午夜乱伦| 中文字幕无码视频| 天天日夜夜爽| 99性爱视频| 日韩精品一区二区三区在线观看| 久久久久国产精品| 美女毛片网站| 亚洲天堂影院| 美女毛片网站| 一区二区三区免费在线观看| 亚洲一区二区在线播放| 性爱乱伦视频| 三级片在线视频| 成人无码一区二区三区| 亚洲无码影院| 色吧综合| 久久久久久亚洲| 精品爆乳一区二区三区无码AV| 亚洲中文字幕在线观看| 午夜成人在线| 国产高清自拍|