一次 Keepalived 高可用的事故,让我重学了一遍它!

本文详细介绍了Keepalived的工作原理,包括Keepalived和LVS概述、流量转发、选主机制以及负载均衡算法。通过VRRP协议实现主备切换,确保高可用性。此外,文章还探讨了Keepalived的负载调度算法,如轮询、最少连接等,并强调其在集群环境中的重要性。
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

原文首发:

你好,我是悟空。

前言

上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题:

Keepalived 高可用组件的虚拟 IP 持续漂移,导致 MySQL 主从不断切换,进而导致 MySQL 主从数据同步失败。

虽然没能重现 Keepalived 的这个问题,但是我深入研究了下 Keepalived 的原理以及针对核心配置参数做了大量实验。悟空带着大家一起看下 Keepalived 到底是如何运转的,以及为什么它能做到高可用。

原理讲解分为上、中、下三篇:

上篇涉及以下知识点

  • Keepalived 如何提供数据流量转发。
  • Keepalived 选举的原理。
  • Keepalived 的负载均衡算法。

中篇涉及以下知识点

  • Keepalived 的路由规则。
  • Keepalived 如何监控服务的。
  • Keepalived 如何进行故障切换。
  • Keepalived 的架构剖析。

下篇设计以下知识点

  • Keepalived 配置详解
  • Keepalived 实战部署

一、Keepalived 和 LVS 概述

1.1 Keepalived 概述

谈到 Keepalived,给人的印象就是用在高可用架构中,保证某个服务不故障,其实它还有很多其他的功能。Keepalived 是 Linux 系统下的一个比较轻量级的高可用解决方案,这个轻量级是相对于 Heartbeat 等组件的。虽然 Heartbeat 功能完善、专业性强,但是安装部署就没有 Keepalived 简单,Keepalived 只需要一个配置文件即可。企业中大多选择 Keepalived 作为高可用组件。

1.2 LVS 概述

Keepalived 最开始是由 Alexandre Cassen 使用 C 语言编写的开源软件项目,项目的目的主要是简化 LVS 项目的配置并增强 LVS 的稳定性。简单来说,Keepalived 就是对 LVS 的扩展增强。

LVS(Linux Virtual Server)翻译过来就是 Linux 虚拟服务器,由章文嵩博士主导开发的开源负载项目,目前 LVS 已经被集成到 Linux 内核模块中。

LVS 主要用在负载均衡方面,比如 Web 客户端想要访问后端服务,Web 请求会先经过 LVS 调度器,调度器根据预设的算法决定如何分发给后端的所有服务器。

1.3 LVS 基本原理

LVS 的基本原理如下图所示:

图片LVS基本原理

LVS 的核心功能就是提供负载均衡,负载均衡技术有多种&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值