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

Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn)

這篇具有很好參考價值的文章主要介紹了Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一? Keepalived熱備

1? 概述

  • 調(diào)度器出現(xiàn)單點故障,如何解決?
  • Keepalived實現(xiàn)了高可用集群
  • Keepalived最初是為LVS設(shè)計的,專門監(jiān)控各服務(wù)器節(jié)點的狀態(tài)
  • Keepalived后來加入了VRRP功能,防止單點故障

2? 運行原理

Keepalived檢測每個服務(wù)器節(jié)點狀態(tài),當(dāng)服務(wù)器節(jié)點異常或工作出現(xiàn)故障, Keepalived將故障節(jié)點從集群系統(tǒng)中剔除,故障節(jié)點恢復(fù)后,Keepalived再將其加入到集群系統(tǒng)中所有工作自動完成,無需人工千預(yù)

3??配高可用的web拓撲

使用keepalived為主從設(shè)備提供VIP地址漂移

Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn),Nginx 運維學(xué)習(xí),學(xué)習(xí),服務(wù)器,linux,運維

二? 案列1:使用Keepalived實現(xiàn)web服務(wù)器的高可用

  • Web服務(wù)器IP地址分別為192.168.88.100和192.168.88.200
  • Web服務(wù)器的VIP地址為192.168.88.80
  • 客戶端通過訪問VIP地址訪問Web頁面

1? 環(huán)境說明

  • web1:eth0->192.168.88.100/24
  • web2:eth0->192.168.88.200/24

2? 配置keepalived

# 在兩臺web服務(wù)器上安裝keepalived
[root@pubserver cluster]# vim 07-install-keepalived.yml
---
- name: install keepalived
  hosts: webservers
  tasks:
    - name: install keepalived   # 安裝keepalived
      yum:
        name: keepalived
        state: present
[root@pubserver cluster]# ansible-playbook 07-install-keepalived.yml

# 修改配置文件
[root@web1 ~]# vim /etc/keepalived/keepalived.conf 
 12    router_id web1    # 設(shè)置本機在集群中的唯一識別符
 13    vrrp_iptables     # 自動配置iptables放行規(guī)則
 ... ...
 20 vrrp_instance VI_1 {
 21     state MASTER           # 狀態(tài),主為MASTER,備為BACKUP
 22     interface eth0         # 網(wǎng)卡
 23     virtual_router_id 51   # 虛擬路由器地址
 24     priority 100           # 優(yōu)先級
 25     advert_int 1           # 發(fā)送心跳消息的間隔
 26     authentication {
 27         auth_type PASS     # 認證類型為共享密碼
 28         auth_pass 1111     # 集群中的機器密碼相同,才能成為集群
 29     }   
 30     virtual_ipaddress {
 31         192.168.88.80/24    # VIP地址
 32     }   
 33 }
# 刪除下面所有行

[root@web1 ~]# systemctl start keepalived
# 等幾秒服務(wù)完全啟動后,可以查看到vip
[root@web1 ~]# ip a s eth0 | grep '88'
    inet 192.168.88.100/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.80/24 scope global secondary eth0


# 配置web2
[root@web1 ~]# scp /etc/keepalived/keepalived.conf 192.168.88.200:/etc/keepalived/
[root@web2 ~]# vim /etc/keepalived/keepalived.conf 
 12    router_id web2          # 改id
 13    vrrp_iptables
 ... ... 
 20 vrrp_instance VI_1 {
 21     state BACKUP           # 改狀態(tài)
 22     interface eth0
 23     virtual_router_id 51
 24     priority 80            # 改優(yōu)先級
 25     advert_int 1
 26     authentication {
 27         auth_type PASS
 28         auth_pass 1111
 29     }
 30     virtual_ipaddress {
 31         192.168.88.80/24
 32     }
 33 }

# 啟動服務(wù)
[root@web2 ~]# systemctl start keepalived
# 查看地址,eth0不會出現(xiàn)vip
[root@web2 ~]# ip a s | grep '88'
    inet 192.168.88.200/24 brd 192.168.88.255 scope global noprefixroute eth0


# 測試,現(xiàn)在訪問88.80,看到是web1上的內(nèi)容
[root@client1 ~]# curl http://192.168.88.80
Welcome from web1

# 模擬web1出現(xiàn)故障
[root@web1 ~]# systemctl stop keepalived.service 

# 測試,現(xiàn)在訪問88.80,看到是web2上的內(nèi)容
[root@client1 ~]# curl http://192.168.88.80
Welcome from web2

# 在web2上查看vip,可以查看到vip 192.168.88.80
[root@web2 ~]# ip a s | grep '88'
    inet 192.168.88.200/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.80/24 scope global secondary eth0

三? 案例2:配置track_script腳本

通過track script腳本控制監(jiān)視MASTER服務(wù)器的80端口,實現(xiàn)主備切換

  • 創(chuàng)建/etc/keepalived/check_http.sh腳本
  • 該腳本檢查本機是否監(jiān)聽在80端口
  • 如果正在監(jiān)聽端口,退出碼設(shè)置為0,否則為1
  • 修改KeepAlived配置,利用創(chuàng)建的腳本決定是否要切換VIP到BACKUP節(jié)點

1? 跟蹤腳本

  • KeepAlived默認只提供一個VIP,對運行的服務(wù)無感知
  • track_script用于檢查一個腳本的返回值,如果返回值為0,則認為當(dāng)前主機處于正常狀態(tài),如果返回值為1,則認為當(dāng)前主機處于異常狀態(tài),需要將VIP地址切換到另一臺備用機器上
  • track_script來檢測應(yīng)用程序或服務(wù)是否正常,可以增加VIP地址更準確、可靠的自動切換功能,提高系統(tǒng)的可用性和可靠性

2? 實現(xiàn)原理

  • 配置高可用的web集群時,Keepalived只為服務(wù)器提供了VIP
  • Keepalived不知道服務(wù)器上運行了哪些服務(wù)
  • MASTER服務(wù)器可以通過跟蹤腳本監(jiān)視本機的80端口,一旦本機80端口失效,則將VIP切換至BACKUP服務(wù)器
  • Keepalived對腳本的要求是,退出碼為0表示訪問成功;退出碼為1表示失敗。

3? 實施

# 1. 在MASTER上創(chuàng)建監(jiān)視腳本
[root@web1 ~]# vim /etc/keepalived/check_http.sh
#!/bin/bash

ss -tlnp | grep :80 &> /dev/null && exit 0 || exit 1

[root@web1 ~]# chmod +x /etc/keepalived/check_http.sh

# 2. 修改MASTER配置文件,使用腳本
[root@web1 ~]# vim /etc/keepalived/keepalived.conf 
  1 ! Configuration File for keepalived
  2 
  3 global_defs {
...略...
 18 }
 19 
 20 vrrp_script chk_http_port {  # 定義監(jiān)視腳本
 21     script "/etc/keepalived/check_http.sh"
 22     interval 2   # 腳本每隔2秒運行一次
 23 }
 24
 25 vrrp_instance VI_1 {
 26     state MASTER
 27     interface eth0
 28     virtual_router_id 51
 29     priority 100
 30     advert_int 1
 31     authentication {
 32         auth_type PASS
 33         auth_pass 1111
 34     }
 35     virtual_ipaddress {
 36         192.168.88.80/24
 37     }
 38     track_script {    # 引用腳本
 39         chk_http_port
 40     }
 41 }
 
# 3. 重起服務(wù)
[root@web1 ~]# systemctl restart keepalived.service 

# 4. 測試,關(guān)閉web1的nginx后,VIP將會切換至web2
[root@web1 ~]# systemctl stop nginx.service 
[root@web1 ~]# ip a s | grep 88
    inet 192.168.88.100/24 brd 192.168.88.255 scope global noprefixroute eth0
[root@web2 ~]# ip a s | grep 88
    inet 192.168.88.200/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.80/24 scope global secondary eth0
# 5. 當(dāng)MASTER的nginx修復(fù)后,VIP將會切換回至web1
[root@web1 ~]# systemctl start nginx.service 
[root@web1 ~]# ip a s | grep 88
    inet 192.168.88.100/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.80/24 scope global secondary eth0
[root@web2 ~]# ip a s | grep 88
    inet 192.168.88.200/24 brd 192.168.88.255 scope global noprefixroute eth0

四? ?案列3:Keepalived + LVS服務(wù)器

  • 準備5臺服務(wù)器,兩臺用于Real ServerI,兩臺用于搭建高可用、負載平衡集群,一臺作為路由器
  • 在RealServer上配置VIP并調(diào)整內(nèi)核參數(shù)
  • 兩臺調(diào)度器節(jié)點均安裝Keepalived和LVS
  • 通過Keepalived配置DR模式的LVS

1? 項目拓撲圖

  • 使用Keepalived高可用解決調(diào)度器單點失敗問題
  • 主、備調(diào)度器上配置LVS
  • 主調(diào)度器異常時,Keepalived啟用備用調(diào)度器調(diào)度器
  • Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn),Nginx 運維學(xué)習(xí),學(xué)習(xí),服務(wù)器,linux,運維

2? 環(huán)境準備

環(huán)境說明:LVS-DR模式?

client1 eth0->192.168.88.10
lvs1 eth0->192.168.88.5
lvs2 eth0->192.168.88.6
web1 eth0->192.168.88.100
web2 eth0->192.168.88.200
# 關(guān)閉2臺web服務(wù)器上的keepalived,并卸載
[root@pubserver cluster]# vim 08-rm-keepalived.yml
---
- name: remove keepalived
  hosts: webservers
  tasks:
    - name: stop keepalived       # 停服務(wù)
      service:
        name: keepalived
        state: stopped
        
    - name: uninstall keepalived   # 卸載
      yum:
        name: keepalived
        state: absent
[root@pubserver cluster]# ansible-playbook 08-rm-keepalived.yml

# 創(chuàng)建新虛擬機lvs2
[root@myhost ~]# vm clone lvs2

# 為lvs2設(shè)置ip地址
[root@myhost ~]# vm setip lvs2 192.168.88.6

# 連接
[root@myhost ~]# ssh 192.168.88.6
  • 配置高可用、負載均衡
  1. 在2臺web服務(wù)器的lo上配置vip
  2. 在2臺web服務(wù)器上配置內(nèi)核參數(shù)
  3. 刪除lvs1上的eth0上的VIP地址。因為vip將由keepalived接管
[root@pubserver cluster]# vim 09-del-lvs1-vip.yml
---
- name: del lvs1 vip
  hosts: lvs1
  tasks:
    - name: rm vip
      lineinfile:            # 在指定文件中刪除行
        path: /etc/sysconfig/network-scripts/ifcfg-eth0
        regexp: 'IPADDR2='   # 正則匹配
        state: absent
      notify: restart system

  handlers:
    - name: restart system
      shell: reboot
[root@pubserver cluster]# ansible-playbook 09-del-lvs1-vip.yml

# 查看結(jié)果
[root@lvs1 ~]# ip a s eth0 | grep 88
    inet 192.168.88.5/24 brd 192.168.88.255 scope global noprefixroute eth0
  • 刪除lvs1上的lvs規(guī)則。因為lvs規(guī)則將由keepalived創(chuàng)建
[root@lvs1 ~]# ipvsadm -Ln   # 查看規(guī)則
[root@lvs1 ~]# ipvsadm -D -t 192.168.88.15:80
  • 在lvs上配置keepalived
# 在主機清單文件中加入lvs2的說明
[root@pubserver cluster]# vim inventory
...略...
[lb]
lvs1 ansible_host=192.168.88.5
lvs2 ansible_host=192.168.88.6
...略...

# 安裝軟件包
[root@pubserver cluster]# cp 01-upload-repo.yml 10-upload-repo.yml
---
- name: config repos.d
  hosts: lb
  tasks:
    - name: delete repos.d
      file:
        path: /etc/yum.repos.d
        state: absent

    - name: create repos.d
      file:
        path: /etc/yum.repos.d
        state: directory
        mode: '0755'

    - name: upload local88
      copy:
        src: files/local88.repo
        dest: /etc/yum.repos.d/
[root@pubserver cluster]# ansible-playbook 10-upload-repo.yml 

[root@pubserver cluster]# vim 11-install-lvs2.yml
---
- name: install lvs keepalived
  hosts: lb
  tasks:
    - name: install pkgs    # 安裝軟件包
      yum:
        name: ipvsadm,keepalived
        state: present
[root@pubserver cluster]# ansible-playbook 11-install-lvs2.yml

[root@lvs1 ~]# vim /etc/keepalived/keepalived.conf 
 12    router_id lvs1       # 為本機取一個唯一的id
 13    vrrp_iptables        # 自動開啟iptables放行規(guī)則
... ...
 20 vrrp_instance VI_1 {
 21     state MASTER
 22     interface eth0
 23     virtual_router_id 51
 24     priority 100
 25     advert_int 1
 26     authentication {
 27         auth_type PASS
 28         auth_pass 1111
 29     }   
 30     virtual_ipaddress {
 31         192.168.88.15       # vip地址,與web服務(wù)器的vip一致
 32     }   
 33 }
 # 以下為keepalived配置lvs的規(guī)則
 35 virtual_server 192.168.88.15 80 {   # 聲明虛擬服務(wù)器地址
 36     delay_loop 6     # 健康檢查延遲6秒開始
 37     lb_algo wrr      # 調(diào)度算法為wrr
 38     lb_kind DR       # 工作模式為DR
 39     persistence_timeout 50  # 50秒內(nèi)相同客戶端調(diào)度到相同服務(wù)器
 40     protocol TCP     # 協(xié)議是TCP
 41 
 42     real_server 192.168.88.100 80 {   # 聲明真實服務(wù)器
 43         weight 1          # 權(quán)重
 44         TCP_CHECK {       # 通過TCP協(xié)議對真實服務(wù)器做健康檢查
 45             connect_timeout 3 # 連接超時時間為3秒
 46             nb_get_retry 3    # 3次訪問失敗則認為真實服務(wù)器故障
 47             delay_before_retry 3  # 兩次檢查時間的間隔3秒
 48         }
 49     }
 50     real_server 192.168.88.200 80 {
 51         weight 2
 52         TCP_CHECK {
 53             connect_timeout 3
 54             nb_get_retry 3
 55             delay_before_retry 3
 56         }
 57     }
 58 }
# 以下部分刪除

# 啟動keepalived服務(wù)
[root@lvs1 ~]# systemctl start keepalived

# 驗證
[root@lvs1 ~]# ip a s eth0 | grep 88
    inet 192.168.88.5/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.15/32 scope global eth0
[root@lvs1 ~]# ipvsadm -Ln    # 出現(xiàn)規(guī)則
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.88.15:80 wrr persistent 50
  -> 192.168.88.100:80            Route   1      0          0         
  -> 192.168.88.200:80            Route   2      0          0    

# 客戶端連接測試
[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.15/; done
Welcome from web2
Welcome from web2
Welcome from web2
Welcome from web2
Welcome from web2
Welcome from web2
# 為了效率相同的客戶端在50秒內(nèi)分發(fā)給同一臺服務(wù)器。為了使用同一個客戶端可以看到輪詢效果,可以注釋配置文件中相應(yīng)的行后,重啟keepavlied。
[root@lvs1 ~]# vim +39 /etc/keepalived/keepalived.conf
...略...
    # persistence_timeout 50
...略...
[root@lvs1 ~]# systemctl restart keepalived.service 
# 在客戶端驗證
[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.15/; done
Welcome from web2
Welcome from web1
Welcome from web2
Welcome from web2
Welcome from web1
Welcome from web2

# 配置LVS2
[root@lvs1 ~]# scp /etc/keepalived/keepalived.conf 192.168.88.6:/etc/keepalived/
[root@lvs2 ~]# vim /etc/keepalived/keepalived.conf 
 12    router_id lvs2
 21     state BACKUP
 24     priority 80
[root@lvs2 ~]# systemctl start keepalived
[root@lvs2 ~]# ipvsadm -Ln   # 出現(xiàn)規(guī)則
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.88.15:80 wrr
  -> 192.168.88.100:80            Route   1      0          0         
  -> 192.168.88.200:80            Route   2      0          0      
  • 驗證
# 1. 驗證真實服務(wù)器健康檢查
[root@web1 ~]# systemctl stop nginx
[root@lvs1 ~]# ipvsadm -Ln   # web1在規(guī)則中消失
[root@lvs2 ~]# ipvsadm -Ln

[root@web1 ~]# systemctl start nginx
[root@lvs1 ~]# ipvsadm -Ln   # web1重新出現(xiàn)在規(guī)則中
[root@lvs2 ~]# ipvsadm -Ln

# 2. 驗證lvs的高可用性
[root@lvs1 ~]# shutdown -h now    # 關(guān)機
[root@lvs2 ~]# ip a s | grep 88     # 可以查看到vip
    inet 192.168.88.6/24 brd 192.168.88.255 scope global noprefixroute eth0
    inet 192.168.88.15/32 scope global eth0
# 客戶端訪問vip依然可用
[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.15/; done
Welcome from web1
Welcome from web2
Welcome from web2
Welcome from web1
Welcome from web2
Welcome from web2

五? HAProxy

1? 簡介

它是免費、快速并且可靠的一種解決方案,適用于那些負載特大的web站點,這些站點通常又需要會話保持或七層處理,可以提供高可用性、負載均衡以及基于TCP和HTTP應(yīng)用的代理

2? 衡量負責(zé)均衡器性能的因素

  • Session rate 會話率,每秒鐘產(chǎn)生的會話數(shù)
  • Session concurrency 并發(fā)會話數(shù),服務(wù)器處理會話的時間越長,并發(fā)會話數(shù)越多
  • Data rate數(shù)據(jù)速率,以MB/s或Mbps衡量

3 工作模式

mode http
????????-? 客戶端請求被深度分析后再發(fā)往服務(wù)器,只適用于web服務(wù)
mode tcp
????????-? 4層調(diào)度,不檢查第七層信息,適用于各種服務(wù)
mode health
????????-? 僅做健康狀態(tài)檢查,已經(jīng)不建議使用

六? 案列4? 配置HAProxy負載平衡集群

  • 準備三臺虛擬機兩臺做Web服務(wù)器,一臺安裝HAProxy
  • 安裝并配置HAProxy,發(fā)往HAProxy的連接請求,分發(fā)到真正的Web服務(wù)器-把HAProxy設(shè)置為開機自動啟動
  • 設(shè)置HAProxy以實現(xiàn)監(jiān)控,并查看監(jiān)控信息

1? 項目拓撲圖

Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn),Nginx 運維學(xué)習(xí),學(xué)習(xí),服務(wù)器,linux,運維

2? 環(huán)境準備

client1 eth0 -> 192.168.88.10
HAProxy eth0 -> 192.168.88.5
web1 eth0 -> 192.168.88.100
web2 eth0 -> 192.168.88.200

3? 初始化配置

# 關(guān)閉192.168.88.6
[root@lvs2 ~]# shutdown -h now

# 配置192.168.88.5為haproxy服務(wù)器
[root@pubserver cluster]# vim 12-config-haproxy.yml
---
- name: config haproxy
  hosts: lvs1
  tasks:
    - name: rm lvs keepalived     # 刪除軟件包
      yum:
        name: ipvsadm,keepalived
        state: absent
        
    - name: rename hostname       # 修改主機名
      shell: hostnamectl set-hostname haproxy1
      
    - name: install haproxy       # 安裝軟件包
      yum:
        name: haproxy
        state: present
[root@pubserver cluster]# ansible-playbook 12-config-haproxy.yml

# web服務(wù)器,不需要配置vip,不需要改內(nèi)核參數(shù)。但是存在對haproxy也沒有影響。
  • 配置haproxy
# 修改配置文件
[root@haproxy1 ~]# vim /etc/haproxy/haproxy.cfg 
# 配置文件中,global是全局配置;default是缺省配置,如果后續(xù)有和default相同的配置,default配置將會被覆蓋。
# 配置文件中,frontend描述haproxy怎么和用戶交互;backend描述haproxy怎么和后臺應(yīng)用服務(wù)器交互。這兩個選項,一般不單獨使用,而是合并到一起,名為listen。
# 將64行之后全部刪除,寫入以下內(nèi)容
 64 #---------------------------------------------------------------------
 65 listen myweb  # 定義虛擬服務(wù)器
 66         bind 0.0.0.0:80     # 監(jiān)聽在所有可用地址的80端口
 67         balance roundrobin  # 定義輪詢調(diào)度算法
 # 對web服務(wù)器做健康檢查,2秒檢查一次,如果連續(xù)2次檢查成功,認為服務(wù)器是健康的,如果連續(xù)5次檢查失敗,認為服務(wù)器壞了
 68         server web1 192.168.88.100:80 check inter 2000 rise 2 fall 5
 69         server web2 192.168.88.200:80 check inter 2000 rise 2 fall 5
 70 
 71 listen stats  # 定義虛擬服務(wù)器
 72         bind 0.0.0.0:1080       # 監(jiān)聽在所有可用地址的1080端口
 73         stats refresh 30s       # 設(shè)置監(jiān)控頁面自動刷新時間為30秒
 74         stats uri /stats        # 定義監(jiān)控地址是/stats
 75         stats auth admin:admin  # 監(jiān)控頁面的用戶名和密碼都是admin

# 啟服務(wù)
[root@haproxy1 ~]# systemctl start haproxy.service 
# 使用firefox訪問監(jiān)控地址 http://192.168.88.5:1080/stats

# 客戶端訪問測試
[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.5/; done
Welcome from web2
Welcome from web1
Welcome from web2
Welcome from web1
Welcome from web2
Welcome from web1

# client1上使用ab訪問
[root@client1 ~]# yum install -y httpd-tools
[root@client1 ~]# ab -n1000 -c200 http://192.168.88.5/

監(jiān)控地址?http://192.168.88.5:1080/stats如下:

Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn),Nginx 運維學(xué)習(xí),學(xué)習(xí),服務(wù)器,linux,運維

  • Queue:隊列長度。Cur當(dāng)前隊列長度,Max最大隊列長度,Limit限制長度
  • Session rate:會話率,每秒鐘的會話數(shù)
  • Sessions:會話數(shù)
  • Bytes:字節(jié)數(shù)。In收到的字節(jié)數(shù),Out發(fā)出的字節(jié)數(shù)
  • Denied:拒絕。Req請求,Resp響應(yīng)
  • Errors:錯誤
  • Warning:警告
  • Status:狀態(tài)
  • LastChk:上一次檢查。L4OK,第四層tcp檢查通過
  • Wght:權(quán)重

七? 負載均衡調(diào)度器比較

LVS適用于需要高并發(fā)性和穩(wěn)定性的場景,Nginx適用于靜態(tài)文件服務(wù)和反向代理等應(yīng)用層負載均衡場景,HAProxy則具備較為豐富的功能和靈活性,適用于多種負載均衡場景。

1? LVS(Linux Virtual Server)

優(yōu)點:

  • 高性能:LVS使用Linux內(nèi)核中的IP負載均衡技術(shù),能夠?qū)崿F(xiàn)非常高的并發(fā)處理能力。
  • 穩(wěn)定性:LVS經(jīng)過長時間的實踐應(yīng)用,成熟穩(wěn)定,被廣泛使用。
  • 可用性:支持高可用性的配置,可以實現(xiàn)故障自動切換,提供無中斷的服務(wù)。
  • 靈活性:可根據(jù)需要采用多種負載均衡算法,如輪詢、加權(quán)輪詢、哈希等。

缺點:文章來源地址http://www.zghlxwxcb.cn/news/detail-699606.html

  • 配置復(fù)雜:相對于其他兩個技術(shù),LVS的配置相對較為復(fù)雜,需要更深入的了解和配置。
  • 功能相對局限:LVS主要是一種傳輸層負載均衡技術(shù),無法像Nginx和HAProxy那樣對應(yīng)用層協(xié)議進行處理。

2? Nginx

優(yōu)點:

  • 高性能:Nginx采用了基于事件驅(qū)動的異步非阻塞架構(gòu),能夠處理大量并發(fā)連接。
  • 負載均衡:Nginx具備內(nèi)置的負載均衡功能,可以根據(jù)配置進行請求的轉(zhuǎn)發(fā)。
  • 豐富的功能:Nginx支持反向代理、靜態(tài)文件服務(wù)、緩存、SSL等,在Web服務(wù)器領(lǐng)域有很廣泛的應(yīng)用。

缺點:

  • 功能相對較少:相對于LVS和HAProxy,Nginx在負載均衡算法和健康檢查等方面的功能相對較少。
  • 限制于應(yīng)用層協(xié)議:Nginx只能對HTTP和HTTPS等應(yīng)用層協(xié)議進行處理,無法處理其他協(xié)議。

3? HAProxy

優(yōu)點:

  • 靈活性:HAProxy支持豐富的負載均衡算法和會話保持方式,可以根據(jù)需求進行靈活配置。
  • 完整的功能:HAProxy支持高可用性配置、健康檢查、故障恢復(fù)、SSL等功能,在負載均衡領(lǐng)域應(yīng)用廣泛。
  • 高性能:HAProxy性能優(yōu)良,能夠處理大量并發(fā)連接,并且支持異步IO模型。

缺點:

  • 內(nèi)存占用:相對于Nginx和LVS,HAProxy在處理大量連接時消耗的內(nèi)存稍高一些。
  • 高可用性:HAProxy需要借助額外的工具來實現(xiàn)高可用性,例如Keepalived。

到了這里,關(guān)于Nginx 學(xué)習(xí)(十)高可用中間件的配置與實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • [運維|中間件] 東方通TongWeb使用筆記

    東方通tongweb部署服務(wù) 東方通tongweb部署服務(wù) 默認訪問地址 http://ip:9060/console/ 默認用戶名密碼 TongWeb7.0默認用戶名密碼:thanos,thanos123.com

    2024年02月14日
    瀏覽(27)
  • [運維|中間件] Apache APISIX使用筆記

    Apache APISIX 是一個動態(tài)、實時、高性能的云原生 API 網(wǎng)關(guān),提供了負載均衡、動態(tài)上游、灰度發(fā)布、服務(wù)熔斷、身份認證、可觀測性等豐富的流量管理功能。 官方文檔地址 快速安裝

    2024年02月14日
    瀏覽(23)
  • [運維|中間件] 東方通TongWeb忘記密碼后修改密碼

    Tongweb忘記密碼處理辦法 以下步驟將thanos用戶密碼修改為 thanos123.com 編輯 twusers.properties 文件 將thanos的內(nèi)容修改為默認的密碼信息:

    2024年02月09日
    瀏覽(143)
  • 中間件安全—Nginx常見漏洞

    中間件安全—Nginx常見漏洞

    ??在上篇中間件安全—Apache常見漏洞中,并未對中間件漏洞進行解釋,這里補充一下。 ??所謂的中間件漏洞就是并非是由于代碼程序上設(shè)計存在缺陷而導(dǎo)致的漏洞,而是屬于應(yīng)用部署中環(huán)境配置不當(dāng)或使用不當(dāng)而導(dǎo)致的漏洞,同時這方面的漏洞也是最容易被管理員忽略的

    2024年02月09日
    瀏覽(22)
  • 安全中級2:nginx的中間件漏洞

    安全中級2:nginx的中間件漏洞

    目錄 一、nginx解析php的流程 1.原理? ? 2.CGI、FastCGI、PHP-FPM、PHP-CG、WrapperI的定義 二、Fastcgi協(xié)議 1.Fastecgi Record 2.Fastcgi Type 3.PHP-FPM(FastCGI進程管理器) 4.總結(jié)FastCGI解析的流程 三、nginx配置錯誤導(dǎo)致的漏洞 1.CRLF注入漏洞($uri解碼漏洞,換行符導(dǎo)致的注入漏洞) (1)原理 (2)利用

    2024年02月09日
    瀏覽(22)
  • 中間件安全-CVE復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx漏洞復(fù)現(xiàn)

    中間件安全-CVE復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx漏洞復(fù)現(xiàn)

    中間件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere, Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp, Spring,F(xiàn)lask,jQuery等 1、中間件-IIS-短文件解析藍屏等 2、中間件-Nginx-文件解析命令執(zhí)行等 3、中間件-Apache-RCE目錄遍歷文件解析等 4、中間件

    2024年02月07日
    瀏覽(22)
  • 【云計算學(xué)習(xí)教程】什么是中間件?常見中間件有哪些?

    【云計算學(xué)習(xí)教程】什么是中間件?常見中間件有哪些?

    3)最后 Apache 把這個臨時的靜態(tài)網(wǎng)頁文件發(fā)給用戶。 采用 Perl、Python 和 Ruby 腳本語言編寫的動態(tài)網(wǎng)頁,其工作過程與 PHP 類似。 Apache 是最流行的開源網(wǎng)站服務(wù)器,在世界排名前 100 萬的網(wǎng)站中,有 60.6% 的網(wǎng)站采用 Apache;在排名前 1000 的大型網(wǎng)站中,Apache 占到了 34.5%,而 N

    2024年04月22日
    瀏覽(28)
  • 服務(wù)攻防-中間件安全&CVE復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx漏洞復(fù)現(xiàn)

    目錄 一、導(dǎo)圖 二、ISS漏洞 中間件介紹 1、短文件 2、文件解析 3、HTTP.SYS 4、cve-2017-7269 三、Nignx漏洞 中間件介紹 1、后綴解析漏洞 2、cve-2013-4547 3、cve-2021-23017 無 EXP 4、cve-2017-7529 意義不大 四、Apache漏洞 中間件介紹 1、漏洞版本簡介 2、cve-2021-42013 3、cve-2021-41773 4、cve-2017-1571

    2024年02月10日
    瀏覽(20)
  • 第59天-服務(wù)攻防-中間件安全&CVE 復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx

    第59天-服務(wù)攻防-中間件安全&CVE 復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx

    文章僅供學(xué)習(xí)交流,一些價值不高的漏洞沒復(fù)現(xiàn),日后來興趣再補坑(大概~) 文章略長,閱讀需耐心~ 視頻鏈接:? 【小迪安全】紅藍對抗 | 網(wǎng)絡(luò)攻防 | V2022全棧培訓(xùn)_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV1pQ4y1s7kH 目錄 一.知識點 二.章節(jié)內(nèi)容 1、常見中間件的安全測試 2、

    2024年02月20日
    瀏覽(26)
  • 中間件環(huán)境搭建配置過程解讀

    中間件環(huán)境搭建配置過程解讀

    安裝xampp服務(wù)集成環(huán)境工具 官網(wǎng)地址 下載項目壓縮包,將項目文件夾放在xampp安裝目錄的htdocs文件夾下 初始化xampp:運行目錄內(nèi)的setup_xampp.bat 運行 xampp-control.exe 可以啟動或停止apache、mysql等各個模塊并可將其注冊為服務(wù)。 配置xampp(Apache、MySQL) 配置參考地址 Apache 項—con

    2024年02月10日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包