什么是分布式系統?
分布式系統是獨立計算機的集合,在用戶看來是一個單一的連貫系統。
為了實現共同的目標,分布式系統中的計算機相互通信。分布式系統的計算機可能位于一個物理位置或分散在多個區域。分布式系統的主要好處是它可以在性能、可靠性和可用性方面優于單個計算機系統。
它涉及通過分布式計算和數據庫在多個工作站之間共享資源和處理能力。分布式系統的關鍵組成部分是多個節點、通信網絡和控制節點間通信的分布式中間件。
節點是相互通信的獨立計算實體。通信網絡充當節點之間交換信息的媒介。分布式系統中的分布式中間件是指分布式應用程序與底層網絡基礎設施之間的軟件層,提供通信、協調和資源管理等服務,以實現高效、可靠的分布式計算。
通過跨多個節點分布工作負載和數據,創建分布式系統的體系結構以實現容錯(在出現節點故障或網絡問題時繼續運行的能力)、可伸縮性和高可用性。
分布式系統如何工作?
要使分布式系統發揮作用,必須將任務分成更小的子任務,并分布在網絡中的多個節點或計算機上。這些節點或計算機然后進行通信和協作以完成任務。
以下四個步驟簡要概述了分布式系統的運行方式:
分散
分布式系統由分布在各種真實或虛擬位置的許多部分或節點組成。這些部分可以通過網絡相互通信以實現單一目標。
溝通
分布式系統的組件可以使用各種協議和工具相互通信,包括 TCP/IP、HTTP 或消息隊列。這些協議允許節點通過發送和接收消息或數據進行通信。
協調
為了使分布式系統的各個部分能夠很好地協同工作,它們必須協調它們的動作??梢允褂梅植际剿惴?、共識協議或分布式事務等多種機制來實現這種協調。
容錯性
創建分布式系統時應考慮到容錯性。這意味著它應該能夠處理特定部分或節點的故障,而不會損害整個系統的性能或可用性。分布式系統采用冗余、復制或分區策略來實現容錯。
在線搜索引擎是分布式系統的一個例子,因為它包含許多執行各種功能的節點,包括抓取網站、索引內容和處理用戶請求。這些節點協作為用戶提供快速有效的搜索結果。
區塊鏈——一種安全透明地記錄交易的去中心化賬本——也是分布式系統的一個例子。它是分布式的,因為分類帳存儲在網絡中的多個節點上,每個節點都持有整個分類帳的副本,從而提高透明度、安全性和對故障或攻擊的彈性。