本次分享基于618慕課網直播,更多精彩可以關注:https://class.imooc.com/sale/javaarchitect
4台阿裡雲節點:
2核2g * 1
1核1g * 3
部署:
2核2g:tomcat + tengine
1核1g:tomcat
官方詳細介紹:https://help.aliyun.com/document_detail/27539.html
本質上,使用任何一家雲廠商的都可以,每家廠商的名字取名不同,騰訊叫做CLB,阿裡叫做SLB。都是負載均衡器,購買的時候需要注意,不同類型的SLB所支援的并發也不同。可以參考如下圖:https://help.aliyun.com/document_detail/85931.html

務必注意:SLB所在地域需要和ECS所在地域相同,ECS所在地域不僅要相同,而且所在區也需要相同,比如如下,所有的ECS都所處上海,并且在<code>華東2 可用區E</code>,這樣才能讓所有伺服器節點在一個私有網絡,也就是内網,内網的話帶寬才會打,吞吐量才會高,性能才會更好。
如果多個伺服器節點在不同的可用區,那麼他們走公網,帶寬小了并發就上不去了,這一點需要注意。
對了啊,這個SLB是可以購買多個的,比如異地多活,同城雙活,多區高可用都能實作,阿裡雲或者騰訊雲這樣的廠商也都提供相應的解決方案。直接使用雲産品會大大降低成本,以及風險。(風險是任何項目管理中必須考慮的因素,項目越大,風險越大)
nginx/tengine 雖然寫着主備,但是真正使用起來他們是同時運作的,下遊還有SLB轉發給他們請求。
圖中兩台甚至多台Nginx可以構成叢集,單個當機那麼其他的還能繼續服務,SLB檢測到後會自動剔除,待恢複後會自動加入。
tomcat也為後端構成了高可用叢集,并且分攤流量。
那麼這種方式的話在我們架構師群裡有幾個同學的公司也是采用的這種方式進行的部署,tomcat部分可以用docker去部署微服務,原理本質都差不多。
需要注意,如果nginx不需要處理請求,也不需要處理header等資訊,僅僅隻是用作轉發代理的話,那麼直接使用SLB也可以,架構圖可以參考如下:
多區高可用,按照上海、北京、深圳等地域進行部署,流量通過dns分發到不同的地區,這也是按照地域的負載均衡,同時在某個地區全部當機或者發生不可預料的自然災害的時候,可以把流量分發給就近的地域伺服器執行個體,進而保證多區高可用。
slb架構分為兩種,如下:
SLB本質原理就是通過網卡進行IP漂移,産生虛拟ip,也就是vip,我們在架構師課程中手把手的帶着大家搭建了基于keepalived的雙主熱備和雙機主備,以及LVS+Keepalived+nginx的高可用叢集對吧。這個其實就是雲負載均衡器的原理。如果在雲伺服器中,直接使用SLB即可,沒有必要再去搭建,除非自己自建機房。那麼這塊内容也不難,跟着老師的步驟去實操一遍心裡有個底就行。畢竟不是運維。
首先需要購買,這裡已經需要買好了,和所有的伺服器節點同處于一個地區,都是在上海E區,購買好以後就能配置SLB執行個體了。
在執行個體管理中可以看到如下圖紅框,這個就是SLB的ip,也就是LVS的虛拟ip
添加上遊伺服器
選擇兩條七層代理伺服器
點選下一步,随後配置權重,這裡随意,這裡的權重比例可以為1:2,或者1:1,根據自己的實際情況
确定以後,在伺服器組中就有了兩條上遊伺服器:
接下來需要配置監聽
需要注意,我們這裡是配置4層轉發,那麼選擇TCP即可,如果你沒有nginx的業務需求的話,直接使用http作為7層轉發即可,不過7層轉發需要有域名備案,這個要注意。
在這裡可以配置選擇會話保持,一定時間内的固定ip請求都會轉發到特定的一台節點,保證吞吐量,不需要每次都重建立立連接配接。
選擇上遊伺服器組
再下一步
最後送出
如此一來4層負載均衡就配置成功了
那麼接下來隻需要結合自身業務,通過slb的虛拟ip來進行通路即可
也可以通過指令行CURL來進行測試:
需要注意,在咱們課程中,lvs+keepalived下,我們發起通路之後,那麼會得到指定的一個内部ip位址和它通信,後面我們再次發起請求,就會和這個内部位址直接互動,是以浏覽器隻會顯示隻輪詢了一個RS真實位址。如果換一個用戶端發請求,傳回的應該就會是另一個位址了。這也就是持久連接配接的出現情況。參考文獻:https://help.aliyun.com/document_detail/27656.html 一條tcp的連接配接經過lvs後,lvs會把這台記錄儲存15分鐘,就是因為這個時間過長,是以大部分人都會發現做好LVS DR之後輪詢現象并沒有發生 可以通過關閉浏覽器程序,等待幾秒後,再重新打開後重新整理,可以看到請求變化了
簡單小節一下,我們之前在架構師課程中所操練的其實就是偏底層的配置,而雲伺服器裡我們是不需要這麼做的,我們隻需要在雲供應商的應用層之上去建立相關的資源配置即可。是以原理以及實操都在架構師體系課程中,有興趣的同學可以跟琳琳關注一波。
官網itzixi.com
微信公衆号:BeJavaGod
新浪微網誌
知乎
簡書
cnblogs
今日頭條
豆瓣
--> 同步更新