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