【负载均衡】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数据包调度程序负责

相关推荐

  1. 负载均衡Keepalived 可用详解

    2023-12-27 00:06:02       57 阅读
  2. LVS + KeepAlived实现可用负载均衡

    2023-12-27 00:06:02       39 阅读
  3. web集群(haproxy负载均衡+keepalived可用)

    2023-12-27 00:06:02       42 阅读
  4. Docker搭建Nginx+keepalived可用负载均衡服务器

    2023-12-27 00:06:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-27 00:06:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-27 00:06:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-27 00:06:02       82 阅读
  4. Python语言-面向对象

    2023-12-27 00:06:02       91 阅读

热门阅读

  1. Ubuntu下编译Qt5.15源码

    2023-12-27 00:06:02       104 阅读
  2. linux代码 PBS提交fluent脚本

    2023-12-27 00:06:02       57 阅读
  3. Unity-序列化和反序列化

    2023-12-27 00:06:02       62 阅读
  4. ansible_jinja2模板的使用

    2023-12-27 00:06:02       45 阅读
  5. 设计模式笔记

    2023-12-27 00:06:02       45 阅读
  6. MySql 事务隔离级别详解

    2023-12-27 00:06:02       50 阅读
  7. python初试四

    2023-12-27 00:06:02       67 阅读
  8. 单体项目-动态上下文问题

    2023-12-27 00:06:02       57 阅读
  9. React入门介绍

    2023-12-27 00:06:02       61 阅读
  10. python异常之try/finally分句

    2023-12-27 00:06:02       49 阅读