服務器架構演變
集群架構包括【單機架構,集群架構,分布式架構,微服務架構】
集群包括【負載均衡集群,高可用性集群,高性能集群】
集群架構演變過程: 單機架構->集群架構->分布式架構->微服務架構
單機架構: 所有業務,部署在同一服務器上; (一個人在做所有的事)
若服務器宕機會導致整個系統掛掉; 且單機服務器可以接受請求的數量有限;
集群架構: 同一個業務,部署在不同服務器上; (多個人在一起做同一件的事)
理解: 單機復制多份就成了集群; 即一堆計算機的集合,給用戶提供同一服務,給用戶感覺就像是不同計算機提供的服務;
集群中的每一台服務器稱為"節點", 所有的節點構成一個集群;
優點:
(1)有組織性,一個節點(服務器)垮了,其它服務器頂上來;
(2)單機到集群的引進,無需修改代碼,僅多部署幾台服務器;
但集群引入了幾個新問題:
1、每個服務器的都有自己的Ip, 每台服務器ip都不一樣,用戶如何知道到底要訪問哪一台服務器? 2、session問題,之前用戶登錄信息,購物車信息等等都是存在服務器的內存中,服務器集群后如何保證每個服務器共享session數據?
集群分類:
LB負載均衡:用一台服務器作為分發器,經過算法計算,負責把用戶的請求分發給后端比較空閑的服務器;【常用的軟件 LVS,Haproxy,Nignx】
HA高可用性:通常為兩台服務器,一台工作,另外一台作為備用,當提供服務的機器宕機,備用機將接替繼續提供服務,不會因為某台服務器down機而停用;
HP高性能: 需要大量CPU運算
分布式架構: 一個業務拆分為多個子業務,部署在多個服務器上;(多個人在一起做不同的事協同完成一個特定任務)
理解:分布式的每一個節點都可以做集群;
優點:
(1)每一個節點完成不同的任務,一個節點跨了,則這個節點的業務不能被訪問;
(2)縮短單個任務的執行時間提升效率;
微服務架構:
模塊化開發
推薦這篇寫的非常通俗易懂的文章, https://www.cnblogs.com/canflyfish/p/11637907.html