【负载均衡】Keepalived 高可用详解

1、Keepalived介绍

​ Keepalived是一个基于VRRP协议来实现LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会使用2台服务器运行Keepalived,一台为主服务器MASTER,另一台为备份服务器BACKUP,但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证高可用性。Keepalived是VRRP的完美实现

2、Keepalived设计

​ 1、内核组件

​ 1)LVS 框架:使用 getsockopt 和 setsockopt 调用来获取和设置套接字上的选项。

​ 2)Netfilter框架:支持NAT和伪装的IPVS代码。

​ 3)Netlink 接口:设置和删除网络接口上的 VRRP 虚拟 IP。

​ 4)组播:VRRP 通告发送到保留的 VRRP MULTICAST 组 (224.0.0.18)。

​ 2、原子元素

​ 包含有控制平面(Control Plane)、调度器 - I/O 多路复用器(Scheduler - I/O Multiplexer)、内存管理(Memory Management)、看门狗(WatchDog)、VRRP协议栈(VRRP Stack)等

​ 3、健康检查

​ 采用tcp、http,udp 、echo请求等方式对实际的服务器进行保活,可以通过自定义监测脚本来自定义健康监测内容机制

​ 4、故障切换

​ Keepalived 实现了用于控制器故障转移的VRRP 协议,VRRP数据包调度程序负责

你可能感兴趣的:(大数据,云原生,负载均衡,linux,缓存,centos)