了解一點服務架構 單機 集群 分布式

2022-02-09 05:44:21 字數 1871 閱讀 2631

單機

單機架構很好理解,例如你要部署一套crm專案,這個專案包含的服務有:用於應用操作的web站點、用於儲存檔案的ftp服務、oracle資料庫服務都部署在一台伺服器上。總而言圍繞這個專案的所有服務都部署在一台伺服器上就是單機架構方式。

集群單機架構的硬體資源有限對於業務量比較大的情況是很難適用的,所以便可以在此基礎之上實施集群架構方式。例如,部署在iis上的web應用隨著業務量的增加,應用的處理能力下降,此時可以準備多台新的伺服器裝置並將web應用分別部署在新的伺服器上,這樣的模式就構成了乙個「集群」。集群形成那麼在集群中的每台伺服器就相當於集群中的乙個「節點」,每個節點都必須保證提供的是相同的服務。

構建集群後引發的問題,使用者通過客戶端操作傳送請求到伺服器,那麼會使用集群中哪台伺服器處理請求呢?並且選擇的依據是什麼?那麼基於集群的這種問題,誕生了乙個「排程者」負載均衡伺服器。顧名思義通過負載均衡伺服器的排程處理會在集群中選擇乙個負載較小的伺服器來處理使用者的請求。

集群的架構的優勢在於我們無需改動任何的專案**,只需要新增伺服器部署相同的應用並配置好負載均衡,就可以很好的減輕隨著業務增量帶來的系統壓力,並且可以直接在單機架構上直接進行調整。

此圖在單機架構上針對web應用伺服器實施了集群並通過負載均衡來排程處理請求,並將圍繞專案的其他的服務獨立到單獨伺服器上,相比單機架構而言很大程度減少了伺服器的壓力。

分布式個人認為集群架構出發點是以增加硬體裝置進行擴充套件,而分布式是以應用系統的業務功能作為出發點,並將每個業務功能拆分成乙個完全獨立子系統,專業名稱稱為「服務」。多個子系統通過乙個主體容器將它們承載,各個子系統直接使用rpc方式進行通訊。

在前面講到單機架構到集群並且集群進行擴充套件都是非常方便的,**基本無需要作任何修改,你要做的僅僅是多部署幾台伺服器,每台伺服器上執行相同的**並且配置好負載均衡就行了。但是集群結構演進到微服務結構的時候,之前的那套**就需要發生較大的改動了。所以對於新系統我們建議,系統設計之初就採用微服務架構,這樣後期運維的成本更低。但如果一套老系統需要公升級成微服務結構的話,那就得對**大動干戈了。所以,對於老系統而言,究竟是繼續保持集群模式,還是公升級成微服務架構,這需要你們的架構師深思熟慮、權衡投入產出比。

個人認為分布式會是主流的架構方式,另外分布式架構最常見最熱門的應用場景就是微服務架構。通過分布式架構可以將專案中每個核心功能單元化從而降低耦合程度,專案每個核心功能可以交由專業的**商進行開發、或者由公司不同的團隊開發,總而言專業人做專業事,每個單位可以獨立進行、部署、測試,在進度和分工上有很大的優勢和效率。並且分布式架構有很好的復用性、移植性,例如開發乙個訂單服務或者許可權服務,可以給其他專案進行使用,無需重複造輪子。

生活場景模擬

通過單機、集群、分布式的架構概念我們可以通過生活中的情景進行模擬,來更好的理解概念,描述如下:

白手起家時的你在阿里巴巴附近開了一間川菜館,因為剛剛起步且客流量並不是很大,所以你在廚房你只聘請了一位工作人員,該工作人不不僅炒菜還要負責配菜、切菜等廚房的各種工作,這個時候的場景其實就相當於我們伺服器架構中的單機架構。

在開店的第三個月後你的生意開始好了起來,這個時候你打算請多名廚工工作,但是廚工的工作都還是綜合的還要負責配菜、切菜等廚房的各種工作,只是人手增加了,這個時候的場景其實就相當於我們伺服器架構中的集群架構。

在開店一年後有了很好的口碑和回頭客,你打算將業務擴充套件承接一些酒席。那麼此時不光工作量增加工作的型別也多元化,為了使餐館有條不紊的運作,你將廚房的工作進行職責分工開放不同的崗位,此時就有了專門炒菜的廚師、專門切菜的案頭、專門清潔人員,這個時候的場景其實就相當於我們伺服器架構中的分布式架構,所有員工各自出力負責各自的工作圍繞著相同的生意。

簡述單機,集群,分布式架構區別及聯絡

我想大家最最最熟悉的就是單機結構,乙個系統業務量很小的時候所有的 都放在乙個專案中就好了,然後這個專案部署在一台伺服器上就好了。整個專案所有的服務都由這台伺服器提供。這就是單機結構。那麼,單機結構有啥缺點呢?我想缺點是顯而易見的,單機的處理能力畢竟是有限的,當你的業務增長到一定程度的時候,單機的硬體...

分布式集群架構

策略優點 缺點格式 uuid 實現簡單不占用頻寬 無序 不可讀 查詢慢 32位db自增 無 遞迴 db單點故障 擴充套件有瓶頸 snowflake 不占用頻寬 低位趨勢遞增 依賴伺服器時間 18位redis 無單點故障 效能優於db遞增 占用頻寬 redis集群需要維護 12位關係型資料庫都實現資料...

單機搭建zookeeper偽分布式集群

最近在研究hbase的時候,說要依賴zookeeper集群,於是又花時間來研究了下zookeeper集群的搭建,希望能幫到一些童鞋.首先將zookeeper解壓之後,建立了個zookeepercluser的資料夾將解壓的zookeeper複製三份到zookeepercluser下 現在以zookee...