keepalived原理

简介:

我们都知道keepalived是一个高可用的工具,可以检测我们服务器的健康状态,当主机恢复的时候又可以将服务器添加到我们的集群中,作为一种这样高效的高可用软件,一般作为lvs的冗余软件,那么它的原理又是什么呢:
都知道keepalived依赖于vrrp协议实现,vrrp的名字叫路由冗余协议,顾名思义,路由冗余协议就是路由器的高可用协议,在没有这个协议之前,为了不让单个路由器成为本地与外部通信的瓶颈,我们需要配置多个路由器,在这个条件下,内部的主机就必须将自己的网关指向不同的路由器,就相当于单线路的访问,如果这条线路断了,我就不得不手动配置指向其他路由器,这样很麻烦,在协议出现之后,我们照样还是很多台路由器,不同的是,我们的路由有了主备之分,主的路由器负责发送包,而且它的上面有vrrp分配的vip,如果我的备份路由器没有接收到主发来的包,那么默认主机挂了,通过优先级选举出新的主路由,vip也会到我的新的路由器上

而keepalived主从切换的工作原理类似于此:

也有主备之分,一般是在备份机的优先级大于主的优先级之后进行主从的切换一般遵循(主机优先级—备机优先级<备机的权重)设想如果主机的优先级减去备机的优先级依旧大于备机的权重,那么当主机宕机后,也比备机的权重加优先级大,那么就没办法进行选举了,所以我们在最开始设置权重和优先级的时候必须要遵循以上的公式

keepalived的健康检查如何实现

tcp的检查方式:
keepalived向后端服务器发送一个tcp的连接请求,如果后端服务器没响应或者响应超时,那么服务器移除
ping方式:
用ping命令进行连接,如果不行则移除,或者端口检测
脚本检测方法:
用脚本来检测,脚本的返回值为零,检测成功,不是零则检测失败

目录
相关文章
|
缓存 安全 Java
JDK8线程池BUG引发的思考
JDK8线程池BUG引发的思考
267 0
|
Kubernetes API 容器
如何基于kubelet的kubeconfig鉴权拉secret
如何利用节点中kubelet的权限获取apiserver中的secret资源
112 0
|
设计模式 架构师 算法
这个时代,达不到百万以上并发量都不叫高并发!!收藏学以致用
成为一名年薪百万的顶尖架构师,实现财富自由,是大多数JAVA高级程序员的职业追求。 这不仅是技术发展的趋势,同时也是个人职业价值的体现。 但最终能否成为IT架构中的「灵魂人物」,做出亿级用户量的产品、搭建承载百万级并发的架构,还要取决于你能不能翻过并发量这道坎。
|
10天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1214 5
|
9天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1179 87
|
10天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1773 12
|
19天前
|
人工智能 运维 安全

热门文章

最新文章