分布式的理解

2021-08-21 02:47:16 字數 696 閱讀 3812

多個節點通過網路通訊 組成乙個完成共同目標、協調工作的系統。

目的是解決單台普通計算機的無法完成的儲存、計算的問題, 尤其是在公升級伺服器效能特別昂貴時。

優點:

1, 效能提公升, 多節點並行工作。

2,可用性更高, 節點之間互不影響, 故障可以轉移。

缺點:

分布式系統需要大量機器協作,面臨諸多的挑戰:

第一,異構的機器與網路:

分布式系統中的機器,配置不一樣,其上執行的服務也可能由不同的語言、架構實現,因此處理能力也不一樣;節點間通過網路連線,而不同網路運營商提供的網路的頻寬、延時、丟包率又不一樣。怎麼保證大家齊頭並進,共同完成目標,這四個不小的挑戰。

第二,普遍的節點故障:

雖然單個節點的故障概率較低,但節點數目達到一定規模,出故障的概率就變高了。分布式系統需要保證故障發生的時候,系統仍然是可用的,這就需要監控節點的狀態,在節點故障的情況下將該節點負責的計算、儲存任務轉移到其他節點

第三,不可靠的網路:

節點間通過網路通訊,而網路是不可靠的。可能的網路問題包括:網路分割、延時、丟包、亂序。

相比單機過程呼叫,網路通訊最讓人頭疼的是超時:節點a向節點b發出請求,在約定的時間內沒有收到節點b的響應,那麼b是否處理了請求,這個是不確定的,這個不確定會帶來諸多問題,最簡單的,是否要重試請求,節點b會不會多次處理同乙個請求。

什麼是分布式系統,如何學習分布式系統

分布式快取理解

主要有多個資料來源,需要進行跨庫操作的應用系統都可以稱之為分布式應用系統 高併發環境下,例如典型的 雙11秒殺,幾分鐘內上億的使用者湧入 這個時候如果訪問不加攔截,讓大量的讀寫請求湧向資料庫,由於磁碟的處理速度與記憶體顯然不在乙個量級,伺服器馬上就要宕機。從減輕資料庫的壓力和提高系統響應速度兩個角度...

分布式爬蟲理解

我們大多時候玩的爬蟲 都是執行在自己的機子,就是單機模式 之前我們為了提高爬蟲的效率,說過多程序相關的,今天來講講什麼是分布式爬蟲。一 什麼是分布式?你開發乙個 想要給別人訪問就需要把 部署到伺服器 當 使用者增多的時候乙個伺服器就不滿足需求了於是就會把 部署到多個伺服器上 這種情況通常叫集群,就是...

分布式事務的理解

當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...