高可用HA(high available),指的是经过尽可能缩短因平常维护操做和突发的系统崩溃所致使的停机时间,以提升系统和应用的可用性。数据库
其中一个实现高可用的方式就是采用两台机器完成同一个功能,好比数据库服务器。平时一台机器对外提供服务,另一台机器做为热备,在主数据库服务器出现问题时,自动切换到热备的从服务器缓存
心跳,定时像服务器发送一个数据包进行请求,若是规定时间内服务器没有数据响应则认定为发生故障,实施切换到热备份的机器上服务器
虚拟IP,就是一个未分配给真实主机的IP地址,就是说一个对外提供服务的数据库服务器除了有一个真实IP地址外还有一个虚拟IP,使用这两个IP中的任意一个均可以链接到这台主机。项目中的数据库链接项数据库地址都配置这个虚拟IP,当服务发生故障没法对外提供服务时,动态将这个虚IP切换到备用主机网络
ARP是地址解析协议,做用是将一个IP地址转换为MAC地址,而后给传输层使用spa
每台主机都有一个ARP高速缓存,存储同一个网络内的IP地址和MAC地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送请求数据包。操做系统会自动维护这个缓存操作系统
好比在实际的业务中,存在物理机A(ip192.168.192.54)和物理机B(ip192.168.192.40),A做为对外的服务器(主服务器),B做为从服务器,两台机器之间的通讯经过Heartbeat,就是说主服务器会定时的给备份服务器发送数据包,告知主服务器服务正常,当备份服务器没有收到主服务器的Heartbeat,就会认为主服务器宕机,则从服务器就会升级成为主服务器blog
假设物理机A的ARP缓存以下:ip
B物理机的ARP缓存信息以下:路由
当B机器经过Heartbeat得知A机器对外服务不可用的时候,会将本身的ARP缓存发送出去,来路由器修改路由表,告知虚拟地址应该指向我(物理机B),外界再次访问虚拟IP的时候,机器B会变成主服务器,而A降级为备份服务器。这样就完成了一次主从切换it