日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx实现tomcat集群进行负载均衡

發(fā)布時(shí)間:2023/12/6 Nginx 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx实现tomcat集群进行负载均衡 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、背景

  隨著業(yè)務(wù)量和用戶數(shù)量的激增,單一的tomcat部署應(yīng)用已經(jīng)無法滿足性能需求,而且對(duì)于每次發(fā)布項(xiàng)目期間服務(wù)不可用的問題也凸顯,既然出現(xiàn)了這個(gè)問題,那么我們本文就借助nginx來完美的解決這個(gè)問題。

二、基本概念

1.說明:關(guān)于Nginx的概念和介紹以及Centos7下安裝步驟,請移步:Centos7安裝Nginx實(shí)戰(zhàn)

2.正向代理和反向代理

 假設(shè)我們給定客戶端A、代理服務(wù)器B、以及最終服務(wù)器C

 正向代理:代理服務(wù)器B來代替客戶端A來訪問最終服務(wù)器C并將最終結(jié)果轉(zhuǎn)發(fā)給客戶端A,站在客戶端A的角度上,代理服務(wù)器代理的是客戶端A,這個(gè)過程是正向的,所以叫正向代理。(正向代理需要客戶端A設(shè)置代理服務(wù)器的ip和提供代理服務(wù)的端口)

 反向代理:客戶端A直接訪問代理服務(wù)器B,由代理服務(wù)器B來決定將請求轉(zhuǎn)發(fā)到哪個(gè)最終服務(wù)器進(jìn)行真正處理,并將最終服務(wù)器的處理結(jié)果轉(zhuǎn)發(fā)給客戶端A,也就是代理服務(wù)器代理的是最終服務(wù)器C,站在客戶端A的角度上,這個(gè)過程是反向的,所以叫反向代理。(反向代理不需要客戶端A進(jìn)行任何設(shè)置)

 關(guān)于正向代理和反向代理,這里有一片不錯(cuò)的文章:圖解正向代理、反向代理、透明代理

3.負(fù)載均衡(Load Balance)

 所謂負(fù)載均衡就是將一批可以提供相同服務(wù)的服務(wù)器組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都可以單獨(dú)向外部提供相同的服務(wù),通過某種負(fù)載分擔(dān)技術(shù),按照用戶指定的負(fù)載均衡策略將外部請求分配到服務(wù)器集合中的具體的某一臺(tái)來進(jìn)行處理的技術(shù)。以此來提高并發(fā)、增加吞吐量、提高處理能力、增加服務(wù)可用性。

三、實(shí)現(xiàn)步驟

1.首先將項(xiàng)目部署在不同的服務(wù)器上,并記錄下服務(wù)的IP地址和端口

  如:tomcat A :?192.168.85.131:8080

    tomcat B :?192.168.85.131:8081

2.在nginx的config文件nginx.conf中進(jìn)行如下設(shè)置

#user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;upstream tomcats{# server 192.168.85.131:8080 weight=5;server 192.168.85.131:8080;server 192.168.85.131:8081;}server {listen 80;server_name tomcat.hafiz.com;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://tomcats;index index.html index.htm;}} }

3.說明:其中標(biāo)紅的地方是最關(guān)鍵的地方,upstream指定了集群服務(wù)的各個(gè)服務(wù)的地址,可以使用weight來增加某個(gè)服務(wù)器的權(quán)重,也就意味著請求會(huì)被多轉(zhuǎn)發(fā)到這個(gè)服務(wù)器上。server_name用來指定暴露給用戶的地址,用戶訪問這個(gè)地址,這個(gè)地址再將請求按照策略進(jìn)行轉(zhuǎn)發(fā)。

4.有了集群提供負(fù)載均衡,如果是web項(xiàng)目就涉及到sesstion在集群中共享的問題,要解決這個(gè)問題,請移步:Shrio+Redis實(shí)現(xiàn)tomcat集群共享session

四、總結(jié)

  通過本文,我們就清楚了什么叫正向代理和反向代理以及負(fù)載均衡,還有如何使用nginx來完成負(fù)載均衡。以前感覺部署集群提供負(fù)載均衡很牛,現(xiàn)在看來其實(shí)也沒啥,挺簡單的。

總結(jié)

以上是生活随笔為你收集整理的Nginx实现tomcat集群进行负载均衡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。