浮动IP背后的原理

浮动IP,也称为VIP,是一种用于高可用场景的故障转移技术,常应用于web入口如Nginx+keepalive的流量分发集群,oralce的rac集群架构也有采用该技术,应该说是一种常见的高可用技术。那么,VIP技术背后的工作原理你了解了吗?

浮动IP背后的原理

VIP的工作表现

我们假设有A、B两台主机组成了一个主从集群,我们去访问时,VIP漂浮在主节点上工作(例如A主机),当A发生故障不能继续提供服务时,VIP漂浮至B节点提供服务,由于服务访问均基于VIP,所以主机切换对外无感知,同时整个过程均为自动化完成,也无需人工介入。那么,这一切是怎么做到的呢?

VIP的工作机制

在展开探讨这个问题之前,我们需要先回顾一个网络知识点,ARP协议。

浮动IP背后的原理

(ARP协议示意图)

ARP协议是一个广播协议,例如你开机获取IP地址时就会用到这个协议。通过将自己拟使用的IP广播出去(局域网内的主机和交换机),来询问IP是否被占用,若被占用将收到从已使用该IP地址的主机的回复,如果未收到任何回复,就认为该IP未被使用,同时在交换机登记绑定该IP和本机的MAC,从而被自己占有。

有了上面的基础,我们就可以深入本chat的主题了,来瞧一瞧VIP的工作机制,我们以nginx的主从集群为例。

浮动IP背后的原理

(VIP工作机制示意图)

当外部请求进来以后,流量会通过蓝色的线流经主节点(即当前VIP浮动在左侧主机上),右侧主机通过keepalived对左侧主机进行秒级服务探测(主机拥有至少一个VIP和实IP,通过实IP进行探测),一旦发现左侧服务挂掉,即发起ARP广播,申请将VIP注册到自身上,由于左侧主机已经停止服务,无力回复该请求,所以VIP将被右侧从机占有,交易流量将通过绿线切换成红线,完成了故障转移。

原理   IP
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章