Keepalive介绍
Keepalive是Linux下一个轻量级高可用解决方案。高可用(High Avaliability简称HA)就是主机的冗余和接管。
基本功能:心跳检测、资源接管、检测集群中的服务、在集群节点转移共享IP地址的所有者。
Keepalive主要是通过路由冗余来实现高可用功能,配置简单,只需要一个配置文件即可完成。
Keepalive起初是为LVS(Linux Virtual Server虚拟的服务器集群负载均衡系统)设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态,如果某个服务器节点出现异常,或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除,这些工作全部是自动完成的,不需要人工干涉,需要人工完成的只是修复出现故障的服务节点。
后来Keepalived又加入了VRRP的功能,VRRP(Vritrual Router Redundancy Protocol,虚拟路由冗余协议)出现的目的是解决静态路由出现的单点故障问题,通过VRRP可以实现网络不间断稳定运行,因此Keepalvied 一方面具有服务器状态检测和故障隔离功能,另外一方面也有HA cluster功能。
Keepalived工作在TCP/IP 参考模型的 三层、四层、五层,也就是分别为:网络层,传输层和应用层。
网络层:我们知道运行这4个重要的协议,互联网络IP协议,互联网络可控制报文协议ICMP、地址转换协议ARP、反向地址转换协议RARP,在网络层Keepalived在网络层采用最常见的工作方式是通过ICMP协议向服务器集群中的每一个节点发送一个ICMP数据包(有点类似与Ping的功能),如果某个节点没有返回响应数据包,那么认为该节点发生了故障,Keepalived将报告这个节点失效,并从服务器集群中剔除故障节点。
传输层:提供了两个主要的协议:传输控制协议TCP和用户数据协议UDP,传输控制协议TCP可以提供可靠的数据输出服务、IP地址和端口,代表TCP的一个连接端,要获得TCP服务,需要在发送机的一个端口和接收机的一个端口上建立连接,而Keepalived在传输层里利用了TCP协议的端口连接和扫描技术来判断集群节点的端口是否正常,比如对于常见的WEB服务器80端口。或者SSH服务22端口,Keepalived一旦在传输层探测到这些端口号没有数据响应和数据返回,就认为这些端口发生异常,然后强制将这些端口所对应的节点从服务器集群中剔除掉。
应用层:可以运行FTP,TELNET,SMTP,DNS等各种不同类型的高层协议,Keepalived的运行方式也更加全面化和复杂化,用户可以通过自定义Keepalived工作方式,例如:可以通过编写程序或者脚本来运行Keepalived,而Keepalived将根据用户的设定参数检测各种程序或者服务是否允许正常,如果Keepalived的检测结果和用户设定的不一致时,Keepalived将把对应的服务器从服务器集群中剔除。
WatchDog
WatchDog是计算机可靠性监测工具,它的工作原理是针对被监视的目标设置一个计数器和阀值,WatchDog会自己增加此计数值,然后等待监视的目标周期性重置该计数值。一旦监控目标发生错误,就无法重置此计数值,WatchDog就会监测到,于是采取对应的恢复措施,例如重启或关闭。
在Linux中很早就引入WatchDog功能,而Keepalived正是通过WatchDog的运行机制俩监控Checkers和VRRP进程的。
Checkers
可实现对服务器运行状态检测和故障隔离。
VRRP stack
可实现HA集群中失败切换(Failover)功能。Keepalived通过VRRP功能再结合LVS负载均衡软件即可部署一个高性能负载均衡集群系统。
IPVS wrapper
IPVS wrapper模块可以将配置好的IPVS规则发送到内核空间并提交给IPVS模块,最终实现IPVS模块的负载均衡功能。
Netlink Reflector
用来实现高可用集群中Failover时虚拟IP(VIP)的设置和切换。Netlink Reflector的所有请求最后都发送到内核空间层的NET
Keepalive介绍相关推荐
- Http Keep-Alive和Tcp keepalive介绍
Http Keep-Alive和Tcp keepalive介绍 1.TCP连接介绍 1.1 建立连接-三次握手 1.2 释放连接-四次挥手 2. KeepAlive与Keep-Alive介绍 2.1 ...
- keep-alive 介绍
一.Keep-Alive是一种HTTP协议中的机制,它的作用是在客户端和服务器之间保持持久的网络连接,以减少连接建立和断开的开销.当启用Keep-Alive时,同一客户端和服务器之间的多个HTTP请求 ...
- 集群介绍 、keepalived介绍 、 用keepalived配置高可用集群
集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat.ke ...
- mysql启用keepalive_mysql主从之keepalive+MySQL高可用
一 keepalive介绍 1.1 keepalived 是什么 keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. 1.2 keepalived 工作原理 keepa ...
- mysql keepalive_mysql主从之keepalive+MySQL高可用
一 keepalive介绍 1.1 keepalived 是什么 keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. 1.2 keepalived 工作原理 keepa ...
- K8S keepalive+haproxy 实现集群高可用
一.keepalibe +haproxy 原理 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProx ...
- vue中的keep-alive实现原理
一.前言 本文介绍的内容包括: keep-alive用法:动态组件&vue-router keep-alive源码解析 keep-alive组件及其包裹组件的钩子 keep-alive组件及其 ...
- Vue--keep-alive--详解
原文网址:Vue--keep-alive--详解_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Vue中的keep-alive. keep-alive标签主要用于保留组件状态或 ...
- 【网络服务数据库教程】05 Web服务器 - Apache
1 讲在 Apache 之前 HTML语言:超文本标记语言,使用html语言编写的文本叫超文本,"超文本"就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 计算机语言要 ...
最新文章
- antd 能自适应吗_ACC自适应巡航能当自动驾驶用吗?答:不能
- 使用 IDEA 开发工具(版本为 IntelliJ IDEA 14.1.4)打可执行jar包的操作步骤
- C语言 遍历字符串数组
- linux日志不区分大小写,windows系统迁移到linux下,Nginx实现url请求不区分大小写...
- python有趣的简单代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
- my-innodb-heavy-4G.cnf 配置文件参数介绍
- Callback模式和Template模式
- 赛锐信息:SAP系统业务审计介绍
- 有一些无声话语,只有寻梦的人彼此听得见
- 一.Nginx的特性和一些知识点
- 2012年1月份第3周51Aspx源码发布详情
- 电话号码正则表达式(标准)
- 重装系统win10安装教程(超详细)
- 如果讲不明白Spring Cloud核心组件,那我就白编故事了
- 《GCAMatting:Natural Image Matting via Guided Contextual Attention》
- ios手机添加frida软件源
- java tiff 压缩,使用Java ImageIO进行Tiff压缩
- Java的23种设计模式---(21)观察者模式
- 常用颜色的RGB值及调色方法
- Python从零到就业
热门文章
- Mate 40,华为的最后一颗子弹?
- windows命令行cmd中查看显卡信息
- 解读APPL CATAL B-ENVIRON‖多级ZnIn2S4@PCN-224异质结的构建提高光催化产氢降解四环素盐酸盐的性能
- 百位专家、汇聚社区力量——CSDN社区大趴圆满结束
- 究量子计算机的目的是为了解决计算机中的,研究量子计算机的目的是为了解决计算机中的()。...
- 日均访问量过万的网站一般需要多大的云服务器
- 高并发每日学习【2020-09-28】
- vue 开发批量上传图片及自定义
- java 图片批量上传_SpringBoot 2.0 图片上传(支持批量上传)
- Delphi 最近做的一个Delphi功能,查询数据显示到TChart上