• <bdo id="i4g44"></bdo>
    <code id="i4g44"><tr id="i4g44"></tr></code>
    <strike id="i4g44"></strike>
    <bdo id="i4g44"></bdo>

    使用nginx作為服務器負載均衡的方法是什么

    在許多應用中,負載平衡是一種常用的技術來優化利用資源最大化吞吐量,減少等待時間,并確保容錯。可以使用nginx的作為一種非常高效的HTTP負載平衡器,將流量分配到多個應用服務器上提高性能,可擴展性和高可用性。

    Nginx負載均衡
    Nginx負載均衡

    負載均衡方法 nginx支持下面幾種負載均衡機制:

    round-robin:輪詢。以輪詢方式將請求分配到不同服務器上
    least-connected:最少連接數。將下一個請求分配到連接數最少的那臺服務器上
    ip-hash :基于客戶端的IP地址。散列函數被用于確定下一個請求分配到哪臺服務器上
    3. 負載均衡默認配置
    nginx負載均衡最簡單的配置如下:

    http {
    upstream myapp1 {
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }

    server {
    listen 80;

    location / {
    proxy_pass http://myapp1;
    }
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    http {
    upstream myapp1 {
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }

    server {
    listen 80;

    location / {
    proxy_pass http://myapp1;
    }
    }
    }
    在上面的例子中,srv1,srv2,srv3運行著相同的應用程序。如果沒有特別指定負載均衡方法默認是以輪詢方式。所有的請求被代理到服務組myapp1,然后nginx負載均衡的分發請求。

    nginx反向代理實現包括下面這些負載均衡HTTP、HTTPS、FastCGI、uwsgi,SCGI和memcached。

    要配置HTTPS的負載均衡,只需使用“https”開頭的協議。

    當要設置FastCGI,uwsgi,SCGI,或者memcached的負載平衡,分別使用fastcgi_pass,uwsgi_pass,scgi_pass和memcached_pass指令。

    最少連接負載均衡

    在一些要求需要更長的時間才能完成的應用情況下, 最少連接可以更公平地控制應用程序實例的負載。使用最少連接負載均衡,nginx不會向負載繁忙的服務器上分發請求,而是將請求分發到負載低的服務器上。

    配置如下:

    upstream myapp1 {
    least_conn;
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }
    1
    2
    3
    4
    5
    6
    upstream myapp1 {
    least_conn;
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
    }

    會話持久性

    以輪詢或最少連接的負載均衡算法,每個后續的客戶端的請求,可以潛在地分配給不同的服務器上,并不能保證相同的客戶端請求將總是指向同一服務器上。

    這對于有會話信息的應用場景下,會有問題的。一般的做法是需要將session信息共享,如使用memcache來存放session。




    請輸入姓名或昵稱
    如果您有任何疑問、需要更多信息或希望與我們建立合作請留言
    =

    本文來自網絡,經授權后發布,本文觀點不代表Infocode藍暢信息技術立場,轉載請聯系原作者。

    (0)
    Infocode藍暢Infocode藍暢
    上一篇 2020年6月4日 下午10:54
    下一篇 2020年6月5日 上午6:05

    相關文章內容推薦

    主站蜘蛛池模板: 县级市| 蒙山县| 方山县| 夏河县| 白银市| 台安县| 连山| 融水| 万宁市| 锡林浩特市| 新田县| 麻栗坡县| 广水市| 定州市| 莎车县| 禹城市| 锦州市| 宁阳县| 贵定县| 张北县| 沽源县| 达拉特旗| 浙江省| 文化| 弋阳县| 洪泽县| 安庆市| 宁武县| 张家川| 万荣县| 西宁市| 获嘉县| 霍城县| 山丹县| 柳江县| 东乌| 界首市| 东宁县| 广安市| 大名县| 依兰县|