1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        十張圖帶你了解負載均衡

        共 2522字,需瀏覽 6分鐘

         ·

        2021-05-09 21:33

        前言

        文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/bin392328206/six-finger
        種一棵樹最好的時間是十年前,其次是現(xiàn)在

        叨絮

        相信很多小伙伴的公司都是服務治理,自動化運維了吧,那么我們很多東西都變成我們自己去設置了,比如自己創(chuàng)建一個域名,綁定他的代理機器,它的web負載均衡這些東西。所以今天跟大家一起來看看負載均衡

        如果不愿意看文字的話,圖也是很清晰的哦

        你怎么看負載均衡

        負載均衡是高可用網(wǎng)絡基礎架構(gòu)的關(guān)鍵組件,通常用于將工作負載分布到多個服務器來提高網(wǎng)站、應用、數(shù)據(jù)庫或其他服務的性能和可靠性。

        • 相信很多小伙伴,一聽到負載均衡四個字,第一個想到就是我們所說的Nginx吧,因為這個是離我們開發(fā)比較近的一個組件了。
        • 第二個呢?就是我們Springcloud的組件中自帶了負載均衡(ribbon),這個也是離我們開發(fā)比較近的
        • 第三個?就是其實我們k8s里面的服務也是能做負載均衡的,目前主流容器使用方式
        • 第四個就是我們DNS之后的一個負載均衡了SLB(這個之前運費負責的多點)

        為啥要負責均衡呢?

        大家看下面的圖,當我們訪問一個網(wǎng)站的時候,如果突然的流量增加,就會導致我們的服務不可用(單點故障)

        image.png

        一個沒有負載均衡的 web 架構(gòu)類似下面這樣:

        image.png

        所以為了解決單點問題我們需要負載均衡(也是我們高可用,高性能,高并發(fā)的基石)

        有負載均衡的架構(gòu)

        image.png

        web架構(gòu)

        image.png

        聊聊SLB

        image.png

        相信很多公司都有用到把,

        負載均衡的組成

        • 負載均衡實例 (Instances):一個負載均衡實例是一個運行的負載均衡服務,用來接收流量并將其轉(zhuǎn)發(fā)給后端服務器,至少添加一個監(jiān)聽(Listeners)和兩臺ECS實例。
        • 監(jiān)聽(Listeners):監(jiān)聽客戶端的請求并將其轉(zhuǎn)發(fā)給后端服務器,監(jiān)聽也會對后端服務器進行健康檢查。
        • 后端服務器(Backend Servers):后端服務器是一組接收前端請求的ECS實例,可以單獨添加ECS實例到后端服務器池;

        健康檢查

        image.png

        Nginx負載均衡

        如果你們還沒用上容器,那么肯定是用Nginx來做負載均衡的了。

        image.png

        至于搭建這邊就不講了,大家百度下,肯定是能知道的。

        SpringCloud負載均衡ribbon

        springcloud中提供了一系列的組件,我們使用ribbon實現(xiàn)負載均衡,eureka中也內(nèi)置了ribbon,所以,引入了eureka其實就可以直接使用ribbon了

        ribbon中的負載均衡用在客戶端,或者說成消費端也可以,在消費者訪問提供者時,就會進行負載均衡算法,然后找到一個最優(yōu)的提供者提供服務

        image.png

        K8s 服務治理的負載均衡(Ingress)

        k8S的負載均衡模式還挺多的,這邊我就說一個吧Ingress

        Ingress 是 k8s 的一種資源對象, 該對象允許外部訪問 k8s 服務, 通過創(chuàng)建規(guī)則集合來配置訪問權(quán)限,這些規(guī)則定義了哪些入站連接可以訪問哪些服務;Ingress 僅支持 HTTP 和 HTTPS 協(xié)議;ingress 可配置用于提供外部可訪問的服務 url、負載均衡流量、SSL終端和提供虛擬主機名配置。

        ingress 的工作流程如下;

        image.png

        大概的訪問路徑如下:

        用戶訪問 --> LB --> ingress-nginx-service --> ingressController-ingress-nginx-pod --> ingress字段中調(diào)用的后端pod

        面試題 nginx四層和七層負載均衡的區(qū)別

        簡單理解四層和七層負載均衡

        • 所謂四層就是基于IP+端口的負載均衡;七層就是基于URL等應用層信息的負載均衡;同理,還有基于MAC地址的二層負載均衡和基于IP地址的三層負載均衡。換句換說,二層負載均衡會通過一個虛擬MAC地址接收請求,然后再分配到真實的MAC地址;三層負載均衡會通過一個虛擬IP地址接收請求,然后再分配到真實的IP地址;四層通過虛擬IP+端口接收請求,然后再分配到真實的服務器;七層通過虛擬的URL或主機名接收請求,然后再分配到真實的服務器。
        • 所謂的四到七層負載均衡,就是在對后臺的服務器進行負載均衡時,依據(jù)四層的信息或七層的信息來決定怎么樣轉(zhuǎn)發(fā)流量。比如四層的負載均衡,就是通過發(fā)布三層的IP地址(VIP),然后加四層的端口號,來決定哪些流量需要做負載均衡,對需要處理的流量進行NAT處理,轉(zhuǎn)發(fā)至后臺服務器,并記錄下這個TCP或者UDP的流量是由哪臺服務器處理的,后續(xù)這個連接的所有流量都同樣轉(zhuǎn)發(fā)到同一臺服務器處理。七層的負載均衡,就是在四層的基礎上(沒有四層是絕對不可能有七層的),再考慮應用層的特征,比如同一個Web服務器的負載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進行負載均衡。舉個例子,如果你的Web服務器分成兩組,一組是中文語言的,一組是英文語言的,那么七層負載均衡就可以當用戶來訪問你的域名時,自動辨別用戶語言,然后選擇對應的語言服務器組進行負載均衡處理。
        • 負載均衡器通常稱為四層交換機或七層交換機。四層交換機主要分析IP層及TCP/UDP層,實現(xiàn)四層流量負載均衡。七層交換機除了支持四層負載均衡以外,還有分析應用層的信息,如HTTP協(xié)議URI或Cookie信息。

        結(jié)束

        作為一個互聯(lián)網(wǎng)工具人,你必須知道整一個用戶流量的流轉(zhuǎn)過程,這樣你才能對流量的每個環(huán)節(jié)去掌握,也就是先要把一個東西串起來,然后一個個去拆解里面的細節(jié)。

        一個系統(tǒng)的完整架構(gòu)圖

        image.png

        往期推薦

        今天不聊技術(shù)的事兒,談談對學習的看法!


        這些線程安全的坑,你在工作中踩了么?


        ConcurrentHashMap核心原理,這次徹底給整明白了

        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美午夜精品久久久久久3D | 大尺度电影欧美肉很多床戏很多 | 长腿校花无力呻吟娇喘的视频 | 久久久成人电影视频 | 男女免费视频在线观看 | 在线看一区二区三区 | 甘雨被啪漫画禁漫天堂 | 国产毛片一区二区+RMVB 色综合大大 | 国产又大又粗又硬视频 | 成人网站免费无码视频在线观看 |