企业架构LNMP学习笔记25

高可用服务搭建:

HA高可用:是一个解决方案。

高可用HA(High Availability)分布式系统架构中必须考虑的因素 之一。它通常是指通过设计,减少系统服务不可用的时间,假设系统一直能够提供服务,我们说系统的可用性是100%,如果系统每运行一个100个时间单位,会有一个时间单位无法提供服务,我们就说系统的可用性是99%。

很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。

具有故障自动恢复能力的可用性。

实现高可用的核心:

1)冗余(多台服务器)。

2)自动切换。

备用服务器:

冷备:服务器不启动(域名不解析),使用的时候再开启,需要手动切换。

热备:服务器在等待状态(监控服务器状态),一旦主宕机,备就接管,自动切换。切换也是需要时间,但是比手动更快一些。

实现热备,引入VIP的切换。

通过VIP的方式切换主备服务器。

1)默认VIP绑定在主服务器(master)。

2)master不可用的时候,就切换VIP到备用服务器(backup)。

3)用户可以使用到连续性更好的服务,通过VIP访问服务器。

常用来单独实现高可用的软件。

1)keepalived

2)heartbeat 较早,输入redhat HA工程的一部分。心脏击打。

Keepalived介绍:

Keepalived软件起初是专门为LVS负载均衡软件 而设计的,用来管理并监控LVS集群系统中各个服务节点的状态(是否存活的状态), 后来又加入了可以实现高可用的VRRP功能 。因此Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy(高可用代理、负载均衡)、MySQL等)的高可用解决方案

Keepalived软件组成和原理:

Keepalived软件主要是通过VRRP协议实现高可用功能的。

VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写 ,VRRP出现的目的就是为了解决静态路由单点故障 问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip (该路由器所在局域网内其他机器的默认路由为该vip ),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要**根据VRRP的优先级来选举一个backup当master。**这样的话就可以保证路由器的高可用了。

Keepalived是监控服务器状态的。

Keepalived的功能体系结构:大致分两层:用户空间(user space)和内核空间(kernel space)。

内核空间:

主要包括IPVS(IP虚拟服务器,用于实现网络服务的负载均衡) 和NETLINK(提供高级路由及其他相关的网络功能)两个部份。

用户空间:

WatchDog:负载监控checkers和VRRP进程的状况

VRRP Stack:**负载均衡器之间的失败切换FailOver,**如果只用一个负载均衡器,则VRRP不是必须的。

Checkers:负责真实服务器的健康检查healthchecking ,**是keepalived最主要的功能。**换言之,可以没有VRRP Stack,但健康检查healthchecking是一定要有的。

IPVS wrapper:用户发送设定的规则到内核ipvs代码。

Netlink Reflector:用来设定vrrp的vip地址等。

SMTP:简单邮件传输协议。发送通知邮件。

Watchdog:看门狗,健康进程。

keepalived主要使用三个模块,分别是core、check和vrrp。

core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。

check负责健康检查,包括常见的各种检查方式。

vrrp模块是来实现VRRP协议的。(高可用跟这个VRRP协议相关。)发送vrrp,看备用服务器是否收到master,如果收不到,就认为master挂掉了。

相关推荐
猫林老师5 分钟前
Flutter for HarmonyOS开发指南(二):混合开发架构与通信机制
flutter·架构·harmonyos
绝无仅有3 小时前
大厂面试相关文章:深入技术面试中的核心知识点
后端·面试·架构
绝无仅有3 小时前
面试文章:网络协议与redis安全,https协议,TCP三次握手,四次挥手等面试经典问题
后端·面试·架构
没有bug.的程序员4 小时前
Eureka 注册中心原理与服务注册发现机制
java·spring·云原生·eureka·架构·注册中心·服务注册发现
jzhwolp4 小时前
nginx epoll 里黑科技位运算+指针复用
linux·nginx·架构
Ashlee_code4 小时前
经纪柜台系统解析:从今日国际金融动荡看证券交易核心引擎的变革
python·架构·系统架构·区块链·vim·柜台·香港券商
快手技术5 小时前
从“拦路虎”到“修路工”:基于AhaEdit的广告素材修复
前端·算法·架构
坚果的博客6 小时前
技术解析:鸿蒙 PC 为什么采用 aarch64 架构?
华为·架构·harmonyos
数字化顾问16 小时前
(125页PPT)IBM流程架构方法论及案例(附下载方式)
架构
●VON17 小时前
深入昇腾NPU:从架构到算子开发的全栈探索
架构·昇腾·昇腾npu·gpt-oss-20b·昇腾训练营