nginx介绍(五) – 高可用

前言

  即使想 nginx 这么牛B的服务器, 也不可以有限支撑他不挂啊,
即使不是机械出故障, 比如, 停电了, 那么机器挂了, 很正规啊. 那时候,
没有散发服务器, 网站就无法正常访问了, 咋搞? 

  网站不开了, 大家放假回乡喽! – 不错的主意啊.

  我们想回家, 不过老董不许, 无法, 加个备份机吧, 有点像是备胎.
可以依赖 keepalived + nginx 来贯彻主备.

 

 一. keepalived是干啥的

  keepalived紧要的办事就是检测 web 服务器的动静, 借使有一台 web
服务器挂了, keepalived 检测到后, 会将有故障的 web 服务器从环境中剔除,
已毕切换操作.当 web 服务器工作例行后, keepalived 会自动将该 web
服务器进入到 服务器群组中. 

  这么看, keepalived 是集群管理中, 有限支撑集群高可用的一个劳动软件,
可防止患单点故障.

 

二. keepalived 工作原理

  keepalived 是以VRRP协议为促成基础的. VRRP又叫 虚拟路由冗余协商,
可以人为是完毕路由器高可用的合计, 将 n
台提供平等效果的路由器组成一个路由器群组, 那么些组里面有一个
master(主服务器) 和 多少个 backup(备胎机). 

  master 里面有一个对外提供劳动的 vip( virtual ip address, 虚拟 ip
地址, 该路由器所在局域网内, 其余机器的默许路由为该 vip), master会发组播,
当backup接收不到的时候, 会人为master挂掉了, 那时,
须要引进一个武林盟主出来. 然则那不是乱推的, 得听从辈分(优先级)来推举.
那样, 就能担保在群组中, 总有一个nginx服务器是可用的.

 

三. keepalived 工作流程大概如下

master 没有挂的状态下, 是这么工作的:

图片 1

当master挂掉之后, 就会切换服务器

图片 2

当master回复正常从此, 会再一次切换回第一幅图那样.