免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

一整套大型網站會有哪些負載均衡方案場景

2021-01-27    分類: 網站建設

歡迎關注頭條號:老顧聊技術

精品原創技術分享,知識的組裝工


目錄

  1. 前言
  2. 創業階段
  3. 小型階段
  4. 中型階段
  5. 大型階段
  6. 總結

前言

我們小伙伴們是不是經常看到網上一些集群、高可用、高并發、負載均衡等關鍵詞,有很多種方案、以及應用場景中都有相關的介紹。今天老顧就帶著大家一起看一下,一整套大型網站會有哪些負載均衡方案場景。

創業階段

創業初期很多資源的限制,一切以業務為核心,能夠正常使用就可以了,因為流量不是很大,所以這個階段的什么集群、高可用、負載均衡就沒有了


這個階段服務器的不可用,影響不是太大,因為在嘗試階段,都是種子用戶進行嘗試業務

小型階段

業務得到市場認可,用戶活躍基數慢慢變大,需要考慮到系統的可用性和負載問題


到這個階段一般會保證web應用服務的可用性和負載,做Web應用集群。這個利用nginx的負載均衡的功能。保證用戶基本服務。這里就第一個負載均衡場景。

web服務的集群化,就會碰到用戶session的問題,所以需要添加一臺redis服務器做分布式會話。

有些系統的session會話方案,采用本地化方案,利用jwt+token的方式,他們會不需要redis服務器保存session會話。

也有用jwt 和 redis會話服務器相結合的方案,這樣可以解決jwt的缺點問題。這里老顧就不多講了。

中型階段

這個階段是業務發展最快的階段,業務的多變性,以及用戶流量已經到了一定的規模,要考慮系統的可用性了,數據量也有一定的規模。這時是系統進入促步改造的時期。

一、業務微服務化

為了保證業務的多變,我們需要把各自業務進行解耦,這邊需要的技術Dubbo或Spring Cloud微服務框架。這兩個框架都支持微服務集群部署,以及調用方的負載均衡。如下圖的訂單微服務會部署幾個訂單微服務,形成集群,web服務調用方會做負載均衡的調用。這邊就涉及到了第二個負載均衡的場景,是利用微服務框架自身的功能。


二、分布式緩存

活躍用戶的增大,會對DB數據庫的訪問壓力過大,這個時候會考慮增加緩存層來幫助DB減壓。在進行分布式緩存進行規劃時,會用到redis集群作為緩存。redis集群方案中利用哈希槽的方式,達到了緩存數據量的拆分,以及負載均衡。這個就是第三個負載均衡場景


三、nginx集群

用戶并發到了幾千的時候,就要考慮到nginx的高可用,雖然nginx的性能比較高,但也經不起量大啊。利用LVS來實現nginx的高可用和負載均衡,這個又是一個負載均衡場景


大型階段

此階段的業務已經趨于穩定,數據量也越有越大,用戶活躍也很大;業務復雜度很高,已經業務流程多變,市場規模發展到全國,有多機房多區域的部署的需求。公司規模大了以后,網絡安全就顯得尤為重要。系統一定要保證穩定

一、分庫分表

數據庫單表如果超過300多萬條記錄時,就要考慮到分表;數據庫的IO操作已經一直處于高負荷狀態,就可以考慮把業務進行拆分到不同的DB中,以及數據庫的主從設計實現讀寫分離,設計來降低DB負載和高可用。

分庫分表中可以采用兩種方案,一種代理層方案,如:MyCat框架;一種是客戶端實現,如sharding-jdbc。這個又是一種在數據庫層的負載均衡場景


二、消息中間件

業務的復雜度高,需要很好的拆分業務,更進一步的業務解耦,以及高并發下限流會用到消息中間件,如:RocketMQ,RabbitMQ。

還有分布式事務中,為了保證最終一致性,也會用到消息中間件。

消息中間件是天生的集群化,保證消息中間件的高可用以及負載均衡,有這個是消息隊列層的負載均衡場景。


三、網關

在分布式架構下,為了進行統一的路由,鑒權,限流,監控等;這個時候就要上網關,現在網關框架為:Kong,Zuul,GateWay,Soul等,這些框架也是集群化的。部署到nginx層下面(kong可以直接替換nginx,因為就是在nginx基礎上設計的)架設網關層。這個是網關層的負載均衡場景

四、跨機房

業務時全國市場,甚至全球市場的話,因為地區網絡節點是按照地區架設的,所以要保證多地區能夠快速訪問我們的網站,這個時候就需要做多機房的設計。多機房的設計就是利用了DNS,這個就是DNS層的負載均衡

到達這一步的話,一般在同一機房下,會部署幾套系統集群方案,這個時候一般在機房里面會加入硬件負載均衡器,如:F5,A10;硬件負載均衡器是蠻貴的,不過公司已經發展到這個地步了,應該有錢了。


涉及到跨機房,系統設計的時候就會非常復雜,尤其要考慮到機房間數據如何共享,同步?這些點老顧在以后的文章中會介紹,跨機房要解決什么問題?

不允許有單點故障,就需要集群化,一旦有集群化的地方,肯定會有負載均衡的場景應用。

大型系統的發展,是根據業務發展而來的,在業務沒有達到一定的程度時,要選擇合適的系統設計,不能超前選擇很復雜的方案,會導致開發周期會很長,系統也會變的復雜,沒有必要,這一點是技術老大需要重視的。

網頁題目:一整套大型網站會有哪些負載均衡方案場景
標題鏈接:http://m.newbst.com/news16/97716.html

成都網站建設公司_創新互聯,為您提供手機網站建設用戶體驗定制網站品牌網站建設網站設計微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司