百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

负载均衡-对nginx+keepalived的进一步分析

off999 2025-02-20 17:29 32 浏览 0 评论

上一节我们把nginx的安装和keepalived的安装已经做了一个说明的了,并大概把keepalived的一些配置罗列出来,但是在此之前我还没有对keepalived进行具体的解释,以及还没有真正的进行负载均衡的优化,这一节是对上一节的加深理解,如果需要初步了解负载均衡的相关知识,请关注我的头条号,上一节文章快速入口:

负载均衡-Keepalived安装

测试环境:

virtual box

操作系统:Ubuntu

VM1:192.168.3.3

VM2:192.168.3.4

软件:nginx+keepalived

VIP:192.168.3.200

知识准备

首先需要对负载均衡的知识有一定的了解,我在前几篇文章都有说到的,其次需要配置好上述的环境,最后可以开始我们的课程了

负载均衡的应用

随着我们应用的用户日益爆发,网站访问量暴增,导致应用出现单点故障的可能性增大,为了保证我们的应用服务可以提供不间断的服务,那么我们需要一套高可用的负载均衡方案

为什么需要用到负载均衡

在我们现实的应用中,我们开发好一个应用后,我们就直接部署到服务器上,举例我们要部署一个spring mvc的项目,我们会把程序打包然后放到服务器的Tomcat上运行,然后部署好域名,用户通过域名访问到我们的spring mvc 项目,那么完整的过程可能就是我们下面的图那样

大家可以看到上图,可能会想到一个问题就是,上图的app server如果崩溃停止运行了,那么我们的用户,就无法访问到我们的数据了。这样一来,就出现故障,然而为了解决我们的故障,我们需要引入一个负载均衡的方案,我们通过Nginx这个转发服务器来实现.

由于我们直接部署会出现上述的问题,我们通过引入Nginx服务,通过Nginx服务器,我们可以根据后端服务器相应的权重和健康度来进行转发,如下图所示,这里的权重都是100,就意味着,Nginx访问到两台服务器的概率是一样的,同时如果Appserver1服务器停机,那么Nginx检查到这台服务器已经停掉,那么它会转发到AppServer2上,这样就解决了我们上面直接部署的问题,从而实现了负载均衡。

大家细心的想想上图,可能会想出端倪了,觉得有点不对劲,如果我们的Nginx崩溃了,怎么办啊?那我用户也是不能通过访问域名进入到服务器啊,没错,这个就是我们负载均衡的单点故障,我们简单的通过Nginx是服务解决这一问题,那么我们引入了keepalived.

那KeepAlived在这里解决了什么问题,我们上一节说的,Keepalived时候VRRP协议的实现,而VRRP会产生一个虚拟的IP,它会选举出主节点的ip,然后会访问相应的服务器,Keepalived会检查相应的服务器的健康度,如果改服务器出现崩溃,它会选举出另外一台机器作为主节点,具体实现可以看我们下图

上图可以看到用户通过域名访问到我们指定的外部的VIP,虚拟的IP,我们根据keepalived设置好主节点和备份节点,当主节点可行的时候,我们用户会首先通过主节点,然后访问Nginx,Nginx在根据我们的权重和健康度,访问到App Server1或者Appserver2.再访问我们的数据库。当主节点出现问题的时候,我们的keepalived会切换到备份节点去,然后用户通过浮动Ip,就会访问到我们的负载均衡服务器2这里,再进行下一步操作。

特别注意:上图可以看出我们如果要配置服务器,需要对我们两台服务器都部署keepalived和Nginx

经过这样的图解,我相信大家对负载均衡有了相当认识的了解了。

Keepalived的进一步分析

在上一节中,我们只是简单的配置了主节点和备份节点网关和虚拟IP的参数而已,对于Keepalived的配置我这里还需要做进一步说明

我们在上一节已经创建了keepalived的配置文件,
/etc/keepalived/keepalived.conf,在VM1,也就是我们的master(主节点)输入了如下的参数

这里的state,我这里输入为MASTER就说明我们通过浮动IP访问的时候回把这台服务器作为主节点,当然不是设置了这个字符就可以了,还需要对我们的优先级Priority的值进行设置,我这里设置成150,interface就是代表要绑定我们的网卡设备,我这里虚拟机的设备为ENP0S3,至于virtual_router_id,就是我们自己设置的虚拟路由的用户组的ID,可以设置0-255之间。不过要注意的是,我们的主节点和备份节点要设置成同一的用户组id,而Advert_int,就是我们检查间隔,单位是秒,我这里设置成每秒。authertication就是加密验证,Virtual_ipaddress,代表的是虚拟IP,VIP就是我们负载均衡图片中的浮动IP,这个IP,我们可以设置成同一网关的IP就好了,不过要注意就是和我们VM1和VM2的IP不要冲突。

VM2的配置,

我们在VM2的配置,唯一的区别就是state和priority,我这里做个修正,上一节我的priority填写的是151,这个节点的值是错误,因为备份节点优先级的值永远要比主节点的值低。state,这里需要填写BACKUP,代表备份节点,而priority,主节点的值是150,所以我这里设置成149,其余的参数都一样。

启动nginx,keepalived后,我们访问192.168.3.200这个虚拟的IP后,可以访问到我们主节点的网站

邮件警报提醒功能的设置

上面只是配置我们常用的信息,不过我们可能还需要收取一下由keepalived发送的报警邮件呢

我们在
/etc/keepalived/keepalived.conf下增加如下的代码

global_defs {

notification_email {

liangeming@foxmail.com #这里就是我们的收到警报的邮件地址,我们可以设置多个,每行一个,注意的就是,我们要开启发送邮件的服务

}

notification_email_from liangeming@foxmail.com ,#设置发送人

smtp_server 127.0.0.1 #smtp服务器地址

smtp_connect_timeout 30 #超时设置

router_id LVS_DEVEL #keepalived服务的一个标识。

}

当我们配置好上面的邮件服务后,我们的keepalived检查出现问题,那么我们会收到邮件,我们需要对我们出现故障的服务器进行修复,这样被修复的服务器才会再加入到队列里面。

Nginx的检查

之前有人问我Nginx出现问题,怎么检查到的,我们这里通过Keepalived的一个脚本,至于nginx怎么会出现问题,有可能是负载过大,内存等等问题,我们在
/etc/keepalived/keepalived.conf下增加如下检查Nginx脚步的代码

vrrp_script chk_nginx {

script "/usr/bin/killall -0 nginx"

interval 2

weight 2

fall 2

rise 2

}

track_script {

chk_nginx

}

今天的课程就讲到这里,下一节,我会继续讲解负载均衡之LVS+Keepalive+nginx,欢迎继续关注我的头条号:一点热,以后我的项目会共享到github,大家可以上去下载相应的配置文件,github路径是yeehot,欢迎大家收藏与转发,如果转载到其它网站,请与我联系。

相关推荐

windows远程桌面(远程桌面app安卓版)

要在WindowsServer2016上开启远程桌面服务,您可以按照以下步骤操作:1.**打开服务器管理器**:您需要登录到您的WindowsServer2016系统。2.**启用远程桌面...

网盘app下载安装(雀云网盘app下载安装)

因为这时的文件只是下载到云盘里,并没有下载到手机里,而在云盘里是不能执行安装程序的,需要把云盘里的安装包,下载到手机内存里面,才可以执行安装命令。现在相当于,你的快递已经在驿站签收了,随时都可以拿回来...

隐藏文件夹不显示(隐藏文件夹不显示出来)

如果,可能是文件被删除或移动到其他位置。隐藏文件是指在文件系统中设置了隐藏属性的文件,通过更改文件夹的设置可以显示或隐藏这些文件。如果文件夹显示隐藏文件的设置已经开启,但仍然找不到文件,可能是因为文件...

强制修改密码软件下载(强制密码修改器)

1.首先找回账户密码(适用于Android设备):如果您的设备与账户关联,可以访问账户的“找回密码”功能,通过重置密码来修改锁屏密码。2.使用其他登录方式(适用于iOS设备):如果您启用了Touch...

苹果ipad充不进电怎么办(苹果ipad充不进去电什么原因)

如果你发现你的iPad不能充电,那么你这样试一下,你看是不是充电的温度太低,你给他拿到一个比较温暖的房间里去,第2个就是你换一个充电器试一试,是不是那个充电器坏了,如果还不行的话,你可以把iPad重新...

无法正常启动0xc000005(无法正常启动你的电脑0xc0000001)

如果手机下载安装的第三方应用出现问题,无法正常使用,三星手机一般建议进行以下步骤排查及处理:1.关闭重新启动该应用。2.建议将此软件卸载重新安装尝试。3.更换其他版本尝试。4.更新下手机系统版本后安装...

无线网登录(无线网登录入口)

1.打开手机浏览器,访问192.168.0.1,输入用户名和密码就可以进入路由器管理界面。2.手机wifi连接路由器信号之后,会弹出对话框,需要输入用户名和密码(有的路由器只需要密码)。3.正确的输入...

恢复精灵免费版(恢复精灵app软件下载)

一般都是收费的。建议选择正规的软件。推荐你用《安易》数据恢复软件。聊天恢复精灵不需要电脑。因为聊天恢复精灵是属于线上的应用程序,只需要在电子设备里面下载安装聊天恢复精灵软件就可以直接使用不靠谱手机数据...

苹果系统官网下载地址(iphone官网ios下载)

PP助手、同步推等手机助手都可以下载已经下架的应用,这类助手有很多,一搜一大把,而且就我知道的PP助手还能选择下载历史版本,当然也有部分应用是没在商店上架的,他们是通过企业证书公布自己的应用,需要到官...

win10桌面切换(w10系统桌面切换)
win10桌面切换(w10系统桌面切换)

     win10桌面1和桌面2快速切换方法:1.按住win按键按键盘的【win】按键。2.再按Tab按键同时按下【tab】按键。3.点击桌面选项点击界面的桌面选项完成切换。具体方...

2025-12-19 23:51 off999

下载qq号安装(下载qq安装包)
下载qq号安装(下载qq安装包)

QQ不能更新和下载,可尝试一下办法:1,使用数据线,将手机和电脑连接,然后从电脑端下载,保证你不闪退,不掉线。2,将你手机桌面的QQ图标删除,彻底删除.从AppStore里下载.注:在你不联机的状态下,你可能用别的助手会闪退问题,推荐从...

2025-12-19 23:03 off999

系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
笔记本电脑上网卡多少钱一个月

收费有好几种!1.按流量收费,这适合不怎么上网看电影,下载的人.(想用就用,而且价格便宜)2.按小时收费,用电脑的无线连移动的无线,那有说明。(10元40小时/每月,20元100小时/每月等等,还是手...

电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
一键重装系统后一直黑屏(电脑一键重装系统后黑屏)

黑屏故障一般有四种情况:一,全黑。主机、显示器(包括指示灯)均不亮二,显示器的指示灯亮,主机的指示灯不亮三,显示器与主机的指示灯均亮且开关电源冷却风扇也正常旋转,但显示器不显示。四,动态黑屏,开机时显...

取消回复欢迎 发表评论: