讀碼農翻身之分佈式與集羣

1、分佈式的情況
在這裏插入圖片描述
假如ABC三個系統分別部署在三臺服務器上,他們之間互相調用,來完成業務流程。這就是一個分佈式系統,但是從上面可以看出,如果系統A異常,就會引起單點失敗。導致整個系統異常。

2、集羣
爲了解決上面的單點問題,有一種方式就是將系統A多部署幾臺,當然,這裏能否部署多臺需要具體的業務邏輯來決定,有些系統多臺部署是可能出現問題的。如果部署多臺業務正常,那麼此時需要考慮的,就是如何讓所有請求均勻的分佈在每臺系統上了。
在這裏插入圖片描述

3、負載均衡
常用的負載均衡的工具有nginx,如下圖所示,但是這種場景還是可能存在一個問題,那就是nginx也可能出現單點失敗的問題。
在這裏插入圖片描述
nginx的keepAlive架構:
在這裏插入圖片描述
特點:
1、用戶看到的好像只有一個機器
2、同一時刻,只讓一個負載均衡的機器工作,另一個原地待命。如果工作的那個掛掉了,待命的那個就頂上去。

4、彈性
如果3個系統A還是滿足不了需求呢?那就再加服務器。但是某種特殊情況,如淘寶的雙11,那一天的用戶量很多,需要更多的服務器,而平時需要的服務器又少,那麼就需要系統支持彈性。----比如使用雲計算,可以輕鬆的創建、刪除服務器。

5、失效轉移
失效轉移的定義:
用戶訪問系統,在服務器A上創建了一個購物車,並向其中加入了幾個商品。然後服務器A掛掉了,用戶的後續訪問就找不到服務器A了,這時候就要做失效轉移,讓另外幾個服務器也能去接管用戶的請求。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章