国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微服務(wù)系列文章之 nginx負(fù)載均衡

這篇具有很好參考價(jià)值的文章主要介紹了微服務(wù)系列文章之 nginx負(fù)載均衡。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

nginx負(fù)載均衡

負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬,增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。

隨著網(wǎng)站的發(fā)展,服務(wù)器壓力越來(lái)越大,我們可能首先會(huì)將數(shù)據(jù)庫(kù),靜態(tài)文件分離出去。但是隨著發(fā)展,單獨(dú)業(yè)務(wù)API的請(qǐng)求的壓力也會(huì)變得很大,這時(shí)候我們可能需要做負(fù)載均衡將一臺(tái)服務(wù)器面臨的壓力分散到多臺(tái)服務(wù)器上。

nginx 不僅可以作為強(qiáng)大的web服務(wù)器,也可以作為反向代理服務(wù)器,而且nginx還可以按照調(diào)度規(guī)則實(shí)現(xiàn)動(dòng)靜分離,還可以對(duì)后端的服務(wù)器做負(fù)載均衡。

nginx負(fù)載均衡配置

nginx的負(fù)載均衡主要是對(duì)proxy_pass和upstream的配置。

我們首先需要建立一個(gè)Spring Boot的項(xiàng)目對(duì)外提供服務(wù),來(lái)模擬我們實(shí)際的服務(wù),還可以配置其它可以提供網(wǎng)絡(luò)請(qǐng)求處理的框架來(lái)提供服務(wù),這里具體由什么來(lái)提供服務(wù)和nginx配置并不相關(guān)。

Spring Boot 項(xiàng)目建立的過(guò)程就不提了,這里只貼一下主要的代碼:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class NginxtestApplication {

    @Value("${server.port:}")
    private String port;

    public static void main(String[] args) {
        SpringApplication.run(NginxtestApplication.class, args);
    }

    @GetMapping("")
    public String hello() {
        System.out.println("call me " + port);
        return "i am " + port;
    }

}

將項(xiàng)目打包后,我們執(zhí)行下面的命令

java -jar test.jar --server.port=8001
java -jar test.jar --server.port=8002

接下來(lái)我們打開(kāi)nginx的配置文件

http {
    upstream upstream_name{
        server 192.168.0.28:8001;
        server 192.168.0.28:8002;
    }

    server {
        listen       8080;
        server_name  localhost;

        location / {
            proxy_pass http://upstream_name;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

我這里沒(méi)有把默認(rèn)的一些配置貼出來(lái)。

首先,在http下添加?upstream upstream_name {}?來(lái)配置要映射的服務(wù)器。

其中的upstream_name大家可以指定為服務(wù)的域名或者項(xiàng)目的代號(hào)。

server下的location 我們將?/?下的全部請(qǐng)求轉(zhuǎn)發(fā)到?http://upstream_name?,也就是我們上面配置的服務(wù)器列表中的某一臺(tái)服務(wù)器上。具體是哪臺(tái)服務(wù)器,nginx會(huì)根據(jù)配置的調(diào)度算法來(lái)確認(rèn)。

我們?cè)跒g覽器中打開(kāi)localhost:8080。多刷新幾次就可以看到頁(yè)面上的內(nèi)容發(fā)生了變化。

nginx 負(fù)載均衡,微服務(wù),nginx,負(fù)載均衡

?

nginx負(fù)載均衡策略

nginx的負(fù)載均衡策略有4種:

輪詢(默認(rèn))

最基本的配置方法,它是upstream的默認(rèn)策略,每個(gè)請(qǐng)求會(huì)按時(shí)間順序逐一分配到不同的后端服務(wù)器。

參數(shù)有:

參數(shù) 描述
fail_timeout 與max_fails結(jié)合使用
max_fails 設(shè)置在fail_timeout參數(shù)設(shè)置的時(shí)間內(nèi)最大失敗次數(shù),如果在這個(gè)時(shí)間內(nèi),所有針對(duì)該服務(wù)器的請(qǐng)求都失敗了,那么認(rèn)為該服務(wù)器會(huì)被認(rèn)為是停機(jī)了
fail_time 服務(wù)器會(huì)被認(rèn)為停機(jī)的時(shí)間長(zhǎng)度,默認(rèn)為10s。
backup 標(biāo)記該服務(wù)器為備用服務(wù)器。當(dāng)主服務(wù)器停止時(shí),請(qǐng)求會(huì)被發(fā)送到它這里。
down 標(biāo)記服務(wù)器永久停機(jī)了。

注意:

  • 在輪詢中,如果服務(wù)器down掉了,會(huì)自動(dòng)剔除該服務(wù)器。
  • 缺省配置就是輪詢策略。
  • 此策略適合服務(wù)器配置相當(dāng),無(wú)狀態(tài)且短平快的服務(wù)使用。

權(quán)重

在輪詢策略的基礎(chǔ)上制定淪陷的幾率。例如

upstream foo {
    server localhost:8001 weight=2;
    server localhost:8002;
    server localhost:8003 backup;
    server localhost:8004 max_fails=3 fail_timeout=20s;
}

這里例子中,weight參數(shù)用于制定輪詢的幾率,weight默認(rèn)值為1;weight的數(shù)值和被訪問(wèn)的幾率成正比。

注意:

  • 權(quán)重越高分配到需要處理的請(qǐng)求越多。
  • 此策略可以與least_conn和ip_hash結(jié)合使用。
  • 此策略比較適合服務(wù)器的硬件配置差別比較大的情況。

ip_hash

負(fù)載均衡器按照客戶端IP地址的分配方式,可以確保相同客戶端的請(qǐng)求一直發(fā)送到相同的服務(wù)器。這樣每個(gè)訪客都固定訪問(wèn)一個(gè)后端服務(wù)器。

upstream foo {
    ip_hash;
    server localhost:8001 weight=2;
    server localhost:8002;
    server localhost:8003;
    server localhost:8004 max_fails=3 fail_timeout=20s;
}

注意:

  • 在nginx版本1.3.1之前,不能在ip_hash中使用權(quán)重(weight)。
  • ip_hash不能與backup同時(shí)使用。
  • 此策略適合有狀態(tài)服務(wù),比如session。
  • 當(dāng)有服務(wù)器需要剔除,必須手動(dòng)down掉。

least_conn 最小連接

把請(qǐng)求轉(zhuǎn)發(fā)給連接數(shù)較少的后端服務(wù)器。輪詢算法是把請(qǐng)求平均的轉(zhuǎn)發(fā)給各個(gè)后端,使它們的負(fù)載大致相同;但是,有些請(qǐng)求占用的時(shí)間很長(zhǎng),會(huì)導(dǎo)致其所在的后端負(fù)載較高。這種情況下,least_conn這種方式就可以達(dá)到更好的負(fù)載均衡效果

upstream foo {
    least_conn;
    server localhost:8001 weight=2;
    server localhost:8002;
    server localhost:8003 backup;
    server localhost:8004 max_fails=3 fail_timeout=20s;
}

注意:

  • 此負(fù)載均衡策略適合請(qǐng)求處理時(shí)間長(zhǎng)短不一造成服務(wù)器過(guò)載的情況。

除了上面這些調(diào)度策略之后,還有一些第三方的調(diào)度策略可以集成到nginx中。

在實(shí)際運(yùn)用中,需要根據(jù)不同的場(chǎng)景選擇不同的策略,大多是多種策略結(jié)合使用以達(dá)到實(shí)際需求的性能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-564005.html

到了這里,關(guān)于微服務(wù)系列文章之 nginx負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • nginx反向代理服務(wù)器及負(fù)載均衡服務(wù)配置

    nginx反向代理服務(wù)器及負(fù)載均衡服務(wù)配置

    一、正向代理與反向代理 正向代理:是一個(gè)位于客戶端和原始服務(wù)器(oricin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。 正向代理的典型用途是為在防火

    2024年02月04日
    瀏覽(25)
  • Nginx反向代理服務(wù)配置和負(fù)載均衡配置

    node1:128 node2:135 node3:130 node4:132 node2、node3、node4已安裝nginx nginx安裝可查看https://blog.csdn.net/HealerCCX/article/details/132089836?spm=1001.2014.3001.5502

    2024年02月14日
    瀏覽(21)
  • Docker搭建Nginx+keepalived高可用負(fù)載均衡服務(wù)器

    一、背景 1.nginx高可用 在生產(chǎn)環(huán)境下,Nginx作為流量的入口,如果Nginx不能正常工作或服務(wù)器宕機(jī),將導(dǎo)致整個(gè)微服務(wù)架構(gòu)的不可用。所以負(fù)責(zé)負(fù)載均衡、反向代理的服務(wù)(Nginx)為了提高處理性能,高可用,也需要集群部署。本期咋們采用 keepalived 和 Nginx實(shí)現(xiàn)高可用。 2.Kee

    2024年04月22日
    瀏覽(26)
  • nginx連接前后端分離項(xiàng)目 或 負(fù)載均衡映射多個(gè)服務(wù)器

    nginx連接前后端分離項(xiàng)目 或 負(fù)載均衡映射多個(gè)服務(wù)器

    nginx的兩種用法: 打通前后端項(xiàng)目,前后端分離的項(xiàng)目,通過(guò)nginx建立連接 負(fù)載均衡,一臺(tái)機(jī)器請(qǐng)求轉(zhuǎn)發(fā)至多個(gè)服務(wù)器 前端項(xiàng)目中的配置: 后端項(xiàng)目的ip和端口號(hào)就是正常的 下面看看nginx的配置文件: 將打包后的前端項(xiàng)目放這里: vue項(xiàng)目打包后會(huì)生成一個(gè)dist文件夾 放在服

    2024年02月05日
    瀏覽(23)
  • nginx兩臺(tái)負(fù)載均衡服務(wù)器之間使用keepalived實(shí)現(xiàn)高可用

    單點(diǎn)故障:某個(gè)重要的功能只有一份,如果他出現(xiàn)問(wèn)題,會(huì)導(dǎo)致全局不能使用 “高可用性”(High Availability,縮寫(xiě)為HA)用于描述系統(tǒng)或服務(wù)在面臨故障、硬件或軟件問(wèn)題時(shí)能夠繼續(xù)正常運(yùn)行的能力。高可用性的目標(biāo)是最大程度地減少系統(tǒng)中斷或停機(jī)時(shí)間,確保用戶可以隨時(shí)

    2024年02月09日
    瀏覽(20)
  • 【Nginx】負(fù)載均衡當(dāng)其中一臺(tái)服務(wù)器宕機(jī)之后

    搭建一個(gè)簡(jiǎn)單的負(fù)載均衡,然后關(guān)閉其中一臺(tái)再來(lái)訪問(wèn),會(huì)發(fā)現(xiàn)我們的瀏覽器卡住一直轉(zhuǎn)圈圈,過(guò)了很久才會(huì)顯示結(jié)果。由此我們可以得出結(jié)論Nginx負(fù)載的時(shí)候如果其中一臺(tái)服務(wù)掛掉了,它會(huì)把請(qǐng)求轉(zhuǎn)發(fā)到另一個(gè)可以提供服務(wù)的機(jī)器,其中這之間的超時(shí)等待默認(rèn)是60s。我們可

    2024年02月08日
    瀏覽(27)
  • Web服務(wù)器群集:Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡與動(dòng)靜分離集群

    Web服務(wù)器群集:Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡與動(dòng)靜分離集群

    目錄 一、理論 1.多實(shí)例 2.Nginx負(fù)載均衡 3.Nginx動(dòng)靜分離 4.配置Nginx+Tomcat負(fù)載均衡 5.配置Nginx+Tomcat動(dòng)靜分離集群 6.Nginx 四層代理配置 二、實(shí)驗(yàn) 1.配置Nginx+Tomcat負(fù)載均衡 2.、配置Nginx+Tomcat動(dòng)靜分離集群 三、問(wèn)題 1.服務(wù)器群集與集群的區(qū)別 2.正向代理與反向代理的區(qū)別 四、總結(jié) (

    2024年02月11日
    瀏覽(23)
  • Tomcat服務(wù)部署、優(yōu)化及多實(shí)例實(shí)驗(yàn)(Nginx+Tomcat負(fù)載均衡、動(dòng)靜分離)

    Tomcat服務(wù)部署、優(yōu)化及多實(shí)例實(shí)驗(yàn)(Nginx+Tomcat負(fù)載均衡、動(dòng)靜分離)

    目錄 1 Tomcat 1.1 tomcat 構(gòu)成 1.2 什么是 servlet? 1.3 什么是 JSP? 1.4 Tomcat 功能組件結(jié)構(gòu) 1.5 Container 結(jié)構(gòu)分析 1.6?Tomcat 請(qǐng)求過(guò)程 2 Tomcat 服務(wù)部署 2.1 環(huán)境部署 2.1.1 ?編輯 2.1.2 設(shè)置JDK環(huán)境變量 2.2 安裝啟動(dòng)Tomcat 2.3?優(yōu)化tomcat啟動(dòng)速度 2.4?主要目錄說(shuō)明 3 Tomcat 虛擬主機(jī)配置 3.1 創(chuàng)建 c

    2024年02月09日
    瀏覽(41)
  • Spring Cloud Alibaba 微服務(wù)1,系統(tǒng)架構(gòu)演變 + Nginx反向代理與負(fù)載均衡

    Spring Cloud Alibaba 微服務(wù)1,系統(tǒng)架構(gòu)演變 + Nginx反向代理與負(fù)載均衡

    ??作者簡(jiǎn)介: 哪吒 ,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多屆新星計(jì)劃導(dǎo)師?、博客專家?? , 專注Java硬核干貨分享,立志做到Java賽道全網(wǎng)Top N。 ??本文收錄于 Java基礎(chǔ)教程系列(進(jìn)階篇) ,本專欄是針對(duì)大學(xué)生、初級(jí)Java工程師精心打造, 針對(duì)Java生態(tài),逐個(gè)擊破,

    2024年02月02日
    瀏覽(103)
  • haproxy服務(wù)器對(duì)nginx服務(wù)器web服務(wù)調(diào)度負(fù)載均衡、用nfs做共享目錄(腳本部署)

    haproxy服務(wù)器對(duì)nginx服務(wù)器web服務(wù)調(diào)度負(fù)載均衡、用nfs做共享目錄(腳本部署)

    目錄 一、準(zhǔn)備 二、在作為haproxy的服務(wù)器上導(dǎo)入以下shell執(zhí)行haproxy安裝 三、由于nginx服務(wù)需要用的nfs共享目錄,先部署nfs 四、nginx服務(wù)器1部署 五、nginx服務(wù)器2部署同上 六、測(cè)試 一、準(zhǔn)備 四臺(tái)服務(wù)器 系統(tǒng) IP 搭建服務(wù)器 centos7 192.168.1.12 haproxy centos7 192.168.1.132 nfs(rpcbind) ce

    2024年02月09日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包