nginx keepalived vip 高可用


生產環境中,可以一個域名綁定多個ip輪詢訪問,比keepalived好用多了,后端的話有eureka之類的,所以在生產環境中根本用不到。
因此,這個就是自己玩的,但是keepalived解決問題的思路我很欣賞。

keepalived
keepalived只支持兩台機器主備。
vip就是keepalived的虛擬ip,抽象的看,可以理解是虛擬網關
主備之間互相進行心跳檢測,默認設置主機掛vip,主機死了,備機可以檢測到,備機就掛vip。
同時,在機器上讓keepalived對nginx進程進行心跳檢測,死了就拉起來,拉不起來就把自己干死。vip就自動掛到備機上了。高可用嘛,死了接着用。

下面用docker玩一下

docker pull osixia/keepalived
docker run -d --rm -v /keepalived/conf/keepalived.conf:/container/service/keepalived/assets/keepalived.conf --name keepalived osixia/keepalived
vi /container/service/keepalived/assets/keepalived.conf
global_defs {
  default_interface eth0
}

vrrp_script chk_http_port {
	script  "xxx.sh"  # 執行腳本,在這里檢測nginx死沒死,死了拉起來,拉不起來就干死自己
	interval 2           # 心跳
	weight 2
}

vrrp_instance VI_1 {
 state MASTER          #  主 MASTER 備 BACKUP
  interface eth0
  virtual_router_id 51  # 主備機一致
  priority 150               # 值大的掛vip
  advert_int 1

  virtual_ipaddress {
    192.168.52.200
  }

  authentication {
    auth_type PASS
    auth_pass d0cker
  }

  notify "/container/service/keepalived/assets/notify.sh"
}

在設置一個備機就ojbk了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM