目錄
一般是指2臺機器啟動著完全相同的業務系統,當有一台機器down機了,另外一台伺服器就能快速的接管,對於訪問的使用者是無感知的。
比如公司的網路是通過閘道器進行上網的,那麼如果該路由器故障了,閘道器無法**報文了,此時所有人都無法上網了,怎麼辦?
通常做法是給路由器增加一台備節點,但是問題是,如果我們的主閘道器master故障了,使用者是需要手動指向backup的,如果使用者過多修改起來會非常麻煩。
問題一:假設使用者將指向都修改為backup路由器,那麼master路由器修好了怎麼辦?
問題二:假設master閘道器故障,我們將backup閘道器配置為master閘道器的ip是否可以?
其實是不行的,因為pc第一次通過arp廣播尋找到master閘道器的mac位址與ip位址後,會將資訊寫到arp的快取表中,那麼pc之後連線都是通過那個快取表的資訊去連線,然後進行資料報的**,即使我們修改了ip但是mac位址是唯一的,pc的資料報依然會傳送給master。(除非是pc的arp快取表過期,再次發起arp廣播的時候才能獲取新的backup對應的mac位址與ip位址)
如何才能做到出現故障自動轉移,此時vrrp就出現了,我們的vrrp其實是通過軟體或者硬體的形式在master和backup外面增加乙個虛擬的mac位址(vmac)與虛擬ip位址(vip),那麼在這種情況下,pc請求vip的時候,無論是master處理還是backup處理,pc僅會在arp快取表中記錄vmac與vip的資訊。
vrrp即虛擬路由冗餘協議(virtual router redundancy protocol),它是為了避免路由器出現單點故障的一種容錯協議。(相當於在乙個區域網中進行廣播,)
1.硬體通常使用 f5
2.軟體通常使用 keepalived
# keepalived配置
[root@lb01 ~]#vim /etc/keepalived/keepalived.conf
! configuration file for keepalived
# 全域性配置
global_defs
# 檢測指令碼
vrrp_script check_nginx
# 配置vrrp協議
vrrp_instance vi_1
# 設定vip
virtual_ipaddress
# 呼叫檢查
track_script
}# 啟動
兩台高可用伺服器在指定時間內,無法互相檢查到對方的心跳而各自啟動故障轉移功能。
1、如果nginx宕機怎麼辦?
想辦法告訴keepalived,nginx的情況。
2、區域網之內,keepalived無法相互廣播,怎麼辦?
判斷vip是否可以ping的通
[root@lb01 ~]# vim checkng.sh
#!/bin/bash
# 解決nginx無法正常啟動
ps -ef | grep -q [n]ginx
if [ $? -ne 0 ];then
# 代表nginx未正常啟動
systemctl start nginx &>/dev/null
sleep 2
ps -ef | grep -q [n]ginx
if [ $? -ne 0 ];then
systemctl stop keepalived
fifi
# 區域網之內,keepalived無法相互廣播,怎麼辦?
# vip=192.168.15.3
# ping -c 1 $vip &>/dev/null
# if [ $? -eq 0 ];then
# 代表vip還可以訪問
# fi
& : 正確的標準輸出和錯誤的標準輸出
實現非搶占式。
1、狀態全部都有設定成backup
2、增加 nopreempt
[root@lb02 ~]# cat /etc/keepalived/keepalived.conf
! configuration file for keepalived
global_defs
# 檢測指令碼
vrrp_script check_nginx
# 配置vrrp協議
vrrp_instance vi_1
#設定vip
virtual_ipaddress
# 呼叫檢查
高併發 高可用
高併發 提高系統併發能力的方法主要有兩種 前者垂直擴充套件可以通過提公升單機硬體效能,或者提公升單機架構效能,來提高併發性,但單機效能總是有極限的,網際網路分布式架構設計高併發終極解決方案還是後者 水平擴充套件。網際網路分層架構中,各層次水平擴充套件的實踐又有所不同 1 反向 層可以通過 dns輪詢...
redis 高可用切換 Redis高可用使用方法二
redis高可用使用方法一 redis高可用使用方法三 之前是主從模式下,但如果考慮到主從切換時,對於開發者來說需要更換配置檔案,是乙個不明智的選擇 而官方提供了哨兵模式 當然在官方不提供的前提下方式是有多種解決的 dns,四層等 一 哨兵的配置 cd redis 4.0.12 切換到之前解壓的目錄...
keepalived haproxy高可用集群
環境 主haproxy伺服器 192.168.80.100 keepalived haproxy 備haproxy伺服器 192.168.80.101 keepalived haproxy web伺服器1 192.168.80.102 httpd nginx tomcat web伺服器2 192.1...