分布式系統:我在戰壕中的看法

看看,我已經和這些叫做"分布式系統"的家夥鬥爭了很多年,我要告訴你它們究竟是什麼,不用那麼多技術細節。

分布式系統基本上是一堆分散的計算機,它們像一個整體一樣協同工作。就像一羣朋友,每個人都在自己家裏,但通過WhatsApp協調一起舉辦派對。

最有趣的是,這些系統試圖讓我們相信它們是一臺獨特的機器,而實際上它們是幾個連接在一起的設備,有時甚至彼此無法理解。

未來:更多有序的混亂

這些系統的未來看起來很有趣,但沒人告訴你真實的問題。集羣計算在理論上聽起來很美妙——將機器組合起來以更快地處理——但在實踐中,正確配置它是一種頭痛。

網格計算被高估了。是的,它連接了來自世界各地的資源,但當存在不同的時區、立法和一些國家糟糕的互聯網連接時,試着管理這些。加密貨幣礦工對此深有體會 - 看似理想的聯合力量,直到池中的某個人決定獨吞所有的蛋糕。

優勢與劣勢:殘酷的現實

優勢是顯而易見的:可擴展性、容錯性……但是,老實說,這並不是天堂。節點之間的協調可能是一場噩夢。我見過"分布式"系統,其中一半的時間都花在同步狀態和解決衝突上。

而且別讓我談復雜性。維護這些系統需要如此專業的知識,以至於你最終成爲自己創造物的奴隸。當出現故障時,在這麼多相互連接的組件中,找到問題所在簡直是運氣。

類型:每一個都比前一個更糟

客戶端-服務器,P2P,分布式數據庫……每種架構都有其獨特的問題。P2P架構很好,直到你意識到沒有人願意共享資源,只想消費它們。分布式數據庫承諾一致性,但試着向你的老板解釋爲什麼有時數據會不同步。

沒有人告訴你的特點

並發是一個美好的概念,直到你遇到死鎖,每個進程都在等待另一個,結果一切都停滯不前。橫向擴展聽起來不錯,但每添加一個新節點就會增加指數級的復雜性。

透明度是最大的神話。沒有任何分布式系統是真正透明的——總會有細節泄露,最終使最終用戶的生活變得復雜。

它們到底是如何運作的?

理論上說,你將任務分開,分配任務,一切都會神奇地運作。現實是,你花更多的時間設計通信協議、管理故障和調試網路問題,而不是做有用的工作。

區塊鏈是完美的例子:理論上它們是抗故障的,但當鏈上發生分叉或當一半的節點未能正確更新時,看看誰來解決這個災難。

總而言之,分布式系統就像遠距離關係——在理論上可以運作,但需要比任何人承認的更多的溝通、耐心和對混亂的容忍。

優雅於紙面,實則混亂。然而,在這個互聯的世界中,我們仍然無法沒有它們。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)