到底什麼是分布式系統?

2022-09-07 15:36:24 字數 1268 閱讀 2588

分布式系統背景

說分布式系統必須要說集中式系統,集中式系統中整個專案就是乙個獨立的應用,整個應用也就是整個專案,所有的東西都在乙個應用裡面。

如下圖所示

如乙個**就是乙個應用,最後是多個增加多台伺服器或者多個容器來達到負載均衡的避免單點故障的目的,當然,資料庫是可以分開部署的。

集中式很明顯的優點就是開發測試運維會比較方便,不用為考慮複雜的分布式環境。

集中式很明顯的弊端就是不易擴充套件,每次更新都必須更新所有的應用。而且,乙個有問題意味著所有的應用都有問題。當系統越來越大,集中式將是系統最大的瓶頸。

什麼是分布式系統?

分布式系統是若干獨立計算機的集合,這計算機對使用者來說就像單個相關系統。

以上定義摘自《分布式系統原理與范型》一書。

也就是說分布式系統背後是由一系列的計算機組成的,但使用者感知不到背後的邏輯,就像訪問單個計算機一樣。

說的有點繞,我們可以來簡單看下分布式系統圖。

分布式系統利弊

在分布式系統中:

1、應用可以按業務型別拆分成多個應用,再按結構分成介面層、服務層;我們也可以按訪問入口分,如移動端、pc端等定義不同的介面應用;

2、資料庫可以按業務型別拆分成多個例項,還可以對單錶進行分庫分表;

3、增加分布式快取、搜尋、檔案、訊息佇列、非關係型資料庫等中介軟體;

很明顯,分布式系統可以解決集中式不便擴充套件的弊端,我們可以很方便的在任何乙個環節擴充套件應用,就算乙個應用出現問題也不會影響到別的應用。

隨著微服務spring cloud & docker的大熱,及國內開源分布式dubbo框架的重生,分布式技術發展非常迅速。

分布式系統雖好,也帶來了系統的複雜性,如分布式事務、分布式鎖、分布式session、資料一致性等都是現在分布式系統中需要解決的難題,雖然已經有很多成熟的方案,但都不完美。分布式系統也增加了開發測試運維成本,工作量增加,分布式系統管理不好反而會變成一種負擔。

推薦閱讀

資料:成為架構師的十階段學習資料!

教程:史上最強 spring boot & cloud 教程彙總

什麼是分布式系統

一 什麼是分布式系統?1.所謂分布式,就是將乙個軟體或者是系統,看成乙個整體 不管多複雜 2.然後將這個整體拆分成若干個progress,每乙個progress都具備一定的功能 3.最後通過不同的協議,使每個progress都能夠互相通訊,連線起來。這個系統就是分布式系統。二 為什麼要這樣做?也就是...

什麼是分布式系統

分布式系統是由一組通過網路進行通訊,為了完成共同的任務而協調工作的計算機節點組成的系統。分布式系統的出現是為了用廉價的 普通的機器完成單個計算機無法完成的計算 儲存任務,其目的利用更多的機器處理更多的資料 首先需要明確的是,只有單個節點的處理能力無法滿足日益增長的計算 儲存任務的時候,且硬體的提公升...

什麼是分布式

1,什麼是分布式?任務分解 節點通訊 1 分布式和集群的關係?2 什麼是大型 訪問量 tps qps 資料量 儲存資料量 3 具體場景 第一版應用 第二版 單擊負載越來越高,資料庫伺服器和應用伺服器分離 第三版 應用伺服器做集群 cookie 儲存的是jsessionid concurrentmap...