如何理解分佈式


所謂分佈式,好比一個超級大的項目,同一個服務,把數據庫的不同部分分開建立到不同的服務器上。以緩解數據庫大量數據訪問的壓力。

爲什麼會出現分佈式架構(產生背景):
目的是解決單臺普通計算機的無法完成的存儲、計算問題, 尤其是在升級服務器性能特別昂貴時。
很多大公司的業務量比較大(比如淘寶網、京東等),每天的訪問量都達到幾百萬上千萬,甚至上億的訪問量,在訪問量不是很大的情況下,是可以通過提高單臺服務器的配置來滿足需求的。但是當單臺服務器已經滿足不了需求的時候就需要做分佈式處理了。畢竟一臺服務器的處理能力是有限的。如果分散到幾臺甚至幾十臺幾百天電腦上,其優勢就顯現出來了。

優點:
1, 性能提升, 多節點並行工作。
2,可用性更高, 節點之間互不影響, 故障可以轉移。

缺點:
  分佈式系統需要大量機器協作,面臨諸多的挑戰:
  第一,異構的機器與網絡
    分佈式系統中的機器,配置不一樣,其上運行的服務也可能由不同的語言、架構實現,因此處理能力也不一樣;節點間通過網絡連接,而不同網絡運營商提供的網絡的帶寬、延時、丟包率又不一樣。怎麼保證大家齊頭並進,共同完成目標,這四個不小的挑戰。
  第二,普遍的節點故障
    雖然單個節點的故障概率較低,但節點數目達到一定規模,出故障的概率就變高了。分佈式系統需要保證故障發生的時候,系統仍然是可用的,這就需要監控節點的狀態,在節點故障的情況下將該節點負責的計算、存儲任務轉移到其他節點
  第三,不可靠的網絡
    節點間通過網絡通信,而網絡是不可靠的。可能的網絡問題包括:網絡分割、延時、丟包、亂序。
    相比單機過程調用,網絡通信最讓人頭疼的是超時:節點A向節點B發出請求,在約定的時間內沒有收到節點B的響應,那麼B是否處理了請求,這個是不確定的,這個不確定會帶來諸多問題,最簡單的,是否要重試請求,節點B會不會多次處理同一個請求。

綜上:分佈式就是一臺服務器上取數據,多臺服務器共享
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章