042 双机热备【技术】

概念

两台设备一个叫做Master(设备1),另外一个可以叫做Backup(设备2),平时Master设备负责干活,Backup设备待命,一旦Master设备挂掉,Backup设备立刻接管。在外界看来,没有影响业务,设备一直在工作。

实现原理

一个网卡可以设置多个地址,比如在Linux上eth0表示网卡1,它可以绑定一个IP,与此同时,还可以设置一个ip alias或者secondary ip。

eth0 --> 192.168.1.10

eth0:1  --> 192.168.1.100

两台机器看做一个整体,共用一个IP,这里称为系统IP。

可以让192.168.1.100为系统IP,如果是Master设备,就把这个IP给绑定上,如果是Backup设备,就不绑定。换句话说,通过动态地绑定/解绑 就可以让这个系统IP在两个设备之间来回“漂移”了。无论是哪个设备成为Master,每次响应ARP请求的时候,都返回一个虚拟的MAC地址,这样MAC地址就唯一了。

Backup设备怎么知道Master设备挂掉了呢?

从道理上说,只需要让Master设备不断地给Backup设备发“心跳”消息即可(可以采用广播的方式发消息), 这个Backup(设备2)得有个定时器,如果在一个特定的时间(时间可以设置)内收不到心跳,就认为Master(设备1)完蛋了,需要自己挺身而出,变成Master(设备2)绑定系统IP。

之前的Master(设备1)如果又活了呢?如果设备1是个性能更加强悍的机器,肯定希望由他来统领全局。这里定义一个策略,每个设备都得有个优先级(一个整数),在允许抢占的情况下,谁的优先级高,谁就是Master!

042 双机热备【技术】_第1张图片

你可能感兴趣的:(042 双机热备【技术】)