keepalived+lvs+nginx高并发集群
keepalived+lvs+nginx高并发集群
简介:
keepalived+lvs+nginx高并发集群,是通过LVS将请求流量均匀分发给nginx集群,而当单机nginx出现状态异常或宕机时,keepalived会主动切换并将不健康nginx下线,维持集群稳定高可用
1.LVS
lvs是一款用于四层负载均衡的工具。常见的如HTTP协议是建立在七层协议上的,而lvs作用于四层协议上,即传输层,网络层,数据链路层和物理层。这里的传输层主要协议有TCP和UDP协议,也就是说lvs主要支持的方式是TCP和UDP。所以lvs处理请求的能力比常见的服务器要高非常多,lvs的负载均衡能力是nginx的十倍以上。
nginx本身是不支持横向扩容的,对于高并发场景下,nginx就会成为性能瓶颈。而lvs是一款负载均衡工具,通过部署多台nginx服务器,利用lvs的负载均衡能力,将请求均衡的分发到各个nginx服务器上,再由nginx服务器分发到各个应用服务器,达到负载均衡能力
2.keepalived
keepalived是一款服务器状态检测和故障切换的工具。在其配置文件中,可以配置主备服务器和该服务器的状态检测请求。也就是说keepalived可以根据配置的请求,在提供服务期间不断向指定服务器发送请求,如果该请求返回的状态码是200,则表示该服务器状态是正常的,如果不正常,那么keepalived就会将该服务器给下线掉,然后将备用服务器设置为上线状态。
操作流程
-
安装LVS:
- 在每个LVS服务器上运行以下命令以安装LVS软件包:
sudo apt-get install ipvsadm
- 在每个LVS服务器上运行以下命令以安装LVS软件包:
-
配置LVS:
- 编辑
/etc/sysctl.conf
文件,并确保以下行被取消注释:net.ipv4.ip_forward=1
- 保存并退出文件后,运行以下命令使更改生效:
sudo sysctl -p
- 编辑
-
配置Keepalived:
- 在每个服务器上安装Keepalived软件包:
sudo apt-get install keepalived
- 编辑
/etc/keepalived/keepalived.conf
文件,并根据你的需求进行配置。以下是一个示例配置文件的部分内容:
在上述配置中,你需要根据你的网络接口、虚拟路由器ID、优先级、认证密码和虚拟IP地址进行相应的更改。vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.0.100} }
- 在每个服务器上安装Keepalived软件包:
-
配置Nginx:
- 在每个LVS服务器上安装Nginx软件包:
sudo apt-get install nginx
- 编辑Nginx配置文件
/etc/nginx/nginx.conf
,并根据你的需求进行配置。以下是一个示例配置文件的部分内容:
在上述配置中,你需要根据你的实际后端服务器的IP地址和端口进行相应的更改。http {upstream backend {server 192.168.0.101:80;server 192.168.0.102:80;}server {listen 80;location / {proxy_pass http://backend;}} }
- 在每个LVS服务器上安装Nginx软件包:
-
启动服务:
- 在每个LVS服务器上分别启动LVS、Keepalived和Nginx服务:
sudo service ipvsadm start sudo service keepalived start sudo service nginx start
- 在每个LVS服务器上分别启动LVS、Keepalived和Nginx服务:
这些是更详细的LVS、Keepalived和Nginx配置步骤。请根据你的具体需求进行相应的配置和调整。
相关文章:
![](https://img-blog.csdnimg.cn/2fd1e9071c4440d58863b709fa21c51c.png)
keepalived+lvs+nginx高并发集群
keepalivedlvsnginx高并发集群 简介: keepalivedlvsnginx高并发集群,是通过LVS将请求流量均匀分发给nginx集群,而当单机nginx出现状态异常或宕机时,keepalived会主动切换并将不健康nginx下线,维持集群稳定高可用 1.L…...
![](https://www.ngui.cc/images/no-images.jpg)
剑指Offer65.不用加减乘除做加法 C++
1、题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用 “”、“-”、“*”、“/” 四则运算符号。 示例: 输入: a 1, b 1 输出: 2 2、VS2019上运行 使用位运算的方法 #include <iostream>class Solution { public:/*** 计算两个整…...
![](https://www.ngui.cc/images/no-images.jpg)
【linux命令讲解大全】004.探索Linux命令行中的chmod和chown工具
文章目录 chmod概要主要用途参数选项返回值例子 chown补充说明语法选项参数实例 从零学 python chmod 用来变更文件或目录的权限 概要 chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --referenceRFILE FILE...主要用途…...
![](https://img-blog.csdnimg.cn/135844b57b174ecdae392c87c79b84a6.png)
nginx会话保持
ip_hash:通过IP保持会话 作用: nginx通过后端服务器地址将请求定向的转发到服务器上。 将客户端的IP地址通过哈希算法加密成一个数值 如果后端有多个服务器,第一次请求到服务器A, 并在务器登录成功,那么再登录B服务器就要重新…...
![](https://img-blog.csdnimg.cn/1aa4eac7bd1d4b9eac04e47dae734c42.png)
SpringBoot使用Druid连接池 + 配置监控页面(自定义版 + starter版)
目录 1. Druid连接池的功能2. 自定义版2.1 pom.xml添加依赖2.2 MyDataSourceConfig实现2.3 application.properties配置编写Controller进行测试2.4 druid监控页面查看 3. starter版3.1 pom.xml添加依赖3.2 自动配置分析3.3 使用application.properties对druid进行配置3.4 druid…...
![](https://img-blog.csdnimg.cn/img_convert/e32dbafff4575f77e48d45b6b8500a0a.png)
【业务功能篇77】微服务-OSS对象存储-上传下载图片
3. 图片管理 文件存储的几种方式 单体架构可以直接把图片存储在服务器中 但是在分布式环境下面直接存储在WEB服务器中的方式就不可取了,这时我们需要搭建独立的文件存储服务器。 3.1 开通阿里云服务 针对本系统中的相关的文件,图片,文本等…...
![](https://www.ngui.cc/images/no-images.jpg)
【CSS 常用加载动画效果】
常用加载效果 呼吸灯效果波浪光效果转圈加载 呼吸灯效果 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"ti"></div></body><style>b…...
![](https://www.ngui.cc/images/no-images.jpg)
python 模块requests 发送 HTTP 请求
一、简介 requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作 二、安装 pip install requestsimport requests三、方法 requsts.requst(method, url,headers,cookies,prox…...
![](https://img-blog.csdnimg.cn/557810da598d41dd9b5cbdfa4710e6d3.png)
关于 Camera 预览和录像画质不一样的问题分析
1、问题背景 基于之前安卓平台的一个项目,客户有反馈过一个 Camera app 预览的效果,和录像效果不一致的问题。 这里的预览是指打开 Camera app 后直接出图的效果;录像的效果则是指打开 Camera app 开启录像功能,录制一段视频&…...
![](https://img-blog.csdnimg.cn/59f382ba70bf427d917cfa41cebbe5f4.png)
【音视频】 视频的播放和暂停,当播放到末尾时触发 ended 事件,循环播放,播放速度
video 也可以 播放 MP3 音频,当不想让 视频显示出来的话,可以 给 video 设置宽和高 1rpx ,不可以隐藏 <template><view class"form2box"><u-navbar leftClick"leftClick"><view slot"left&q…...
![](https://img-blog.csdnimg.cn/646863996ac44da8af500c049bb72fbd.png#pic_center)
Python数据分析高薪实战第一天 python基础与项目环境搭建
开篇词 数据赋能未来,Python 势不可挡 互联网公司从红利下的爆发期,进入新的精细化发展阶段,亟须深入分析与挖掘业务与数据价值,从而找到新的增长点突破现有增长瓶颈。各行各业的数据分析需求井喷,数据分析人才成为争…...
![](https://img-blog.csdnimg.cn/9002c355f16c4fd09f022eb4878695dc.png)
pandas数据分析——groupby得到分组后的数据
groupbyagg分组聚合对数据字段进行合并拼接 Pandas怎样实现groupby聚合后字符串列的合并(四十) groupby得到分组后的数据 pandas—groupby如何得到分组里的数据 date_range补齐缺失日期 在处理时间序列的数据中,有时候会遇到有些日期的数…...
![](https://img-blog.csdnimg.cn/bc1de0710e0946b69178ac43563651a2.png)
Android studio 软件git使用
在 test 分支添加的方法 , 现在切换到 master分支 总共 2 个分支 , 当前的分支是 test 出现了 先试一下 force checkout , 尝试之后发现 , 你更改没有带过来 , 以为哪个类在master分支没有 , 所以这边也没有 , 切回分支 test 发现之前的跟改没有 , 这样即可以找回 继续切换…...
![](https://img-blog.csdnimg.cn/b1ebd63184e24bb3bf10966b1bdc06d0.png)
通过C实现sqlite3操作,导入电子词典
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sqlite3.h> int main(int argc, const char *argv[]) {//创建并打开一个数据库sqlite3 *db NULL;if(sqlite3_open("./dict.db",&db) ! SQLITE_OK){printf("…...
![](https://img-blog.csdnimg.cn/img_convert/d5e04f4029b504f777a99f5c1abf509a.png)
K8S集群中使用JDOS KMS服务对敏感数据安全加密 | 京东云技术团队
基本概念 KMS,Key Management Service,即密钥管理服务,在K8S集群中,以驱动和插件的形式启用对Secret,Configmap进行加密。以保护敏感数据, 驱动和插件需要使用者按照需求进行定制和实现自己的KMS插件&…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringBoot+quartz实现定时任务的创建、删除、查询操作
1、在pom.xml文件中导入quartz的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency> 2、配置quartz的数据源等操作 package com.train.batch.config;imp…...
![](https://img-blog.csdnimg.cn/0f6496de9e95460fa08a4c189197a5c0.png#pic_center)
Oracle的学习心得和知识总结(二十八)|Oracle数据库数据库回放功能之论文二翻译及学习
目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…...
![](https://www.ngui.cc/images/no-images.jpg)
排序算法:归并排序
约翰冯诺伊曼在 1945 年提出了归并排序。在讲解归并排序之前,我们先一起思考一个问题:如何将两个有序的列表合并成一个有序的列表? 将两个有序的列表合并成一个有序的列表 这太简单了,笔者首先想到的思路就是,将两个列…...
![](https://www.ngui.cc/images/no-images.jpg)
Hbase-技术文档-spring-boot整合使用hbase--简单操作增删改查--提供封装高可用的模版类
使用spring-boot项目来整合使用hbase。 引入依赖 <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.4.3</version> </dependency> 依赖声明表示将把Apache HBase客户端库…...
![](https://img-blog.csdnimg.cn/29c1b4f151b64596b3dfac585338d2de.png)
基于Pytorch的神经网络部分自定义设计
一、基础概念(学习笔记) (1)训练误差和泛化误差[1] 本质上,优化和深度学习的目标是根本不同的。前者主要关注的是最小化目标,后者则关注在给定有限数据量的情况下寻找合适的模型。训练误差和泛化误差通常不…...
![](https://www.ngui.cc/images/no-images.jpg)
持续更新串联记忆English words
(一)这是一组关于“服装搭配”的单词。通过在记忆中检索,回忆起隐藏的信息吧~ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>今日单词>>&…...
![](https://www.ngui.cc/images/no-images.jpg)
postgresql 内核源码分析 btree索引的增删查代码基本原理流程分析,索引膨胀的原因在这里
B-Tree索引代码流程分析 专栏内容: postgresql内核源码分析手写数据库toadb并发编程 开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&…...
![](https://img-blog.csdnimg.cn/36e732e3a747448fb44cbddfdffcf4d1.png#pic_center)
详细了解G1、了解G1、G1垃圾收集器详解、G1垃圾回收器简单调优
4.详细了解G1: 4.1.一:什么是垃圾回收 4.2.了解G1 4.3.G1 Yong GC 4.4.G1 Mix GC 4.5.三色标记算法 4.6.调优实践 5.G1垃圾收集器详解 5.1.G1垃圾收集器 5.2.G1的堆内存划分 5.3.G1的运行过程 5.4.三色标记 5.4.1.漏标问题 5.5.记忆集与卡表 5.6.安全点与…...
![](https://www.ngui.cc/images/no-images.jpg)
vue项目中 package.json 详解
在 Vue 项目中,package.json 是一个重要的配置文件,它包含了项目的名称、版本、作者、依赖等信息。下面是一份详细的 Vue 项目 package.json 配置说明: 1.name:项目的名称,用于标识项目,例如:&q…...
![](https://img-blog.csdnimg.cn/img_convert/8008bfbf5f88e4272c2df5d678980dfe.jpeg)
为什么要进行管网水位监测,管网水位监测的作用是什么
管网水位监测是城市排水系统管理的重要手段,对于保障城市排水设施安全运行和提升城市管理水平具有重要意义。通过对排水管网的水位进行实时监测和分析,能够及时发现问题并采取措施,提高排水系统的运行效率和管理水平。本文将详细介绍为什么要…...
![](https://www.ngui.cc/images/no-images.jpg)
webpack学习笔记
1. webpack基本概念 webpack: JavaScript 应用程序的静态模块打包器,是目前最为流行的JavaScript打包工具之一。webpack会以一个或多个js文件为入口,递归检查每个js模块的依赖,从而构建一个依赖关系图,然后依据该关系…...
![](https://img-blog.csdnimg.cn/img_convert/2ae9fd51c0321151a960f8af743c8742.jpeg)
解析代理IP在跨境电商和社媒营销中的关键作用
跨境电商和社媒营销领域的从业者深知,代理IP的价值愈发凸显。在推广营销的过程中,频繁遇到因IP关联而封禁账号的情况,或因使用不安全IP而导致异常问题。 这些问题促使人们开始高度重视代理IP的作用。但实际上,代理IP究竟是何物&a…...
![](https://img-blog.csdnimg.cn/60442e09d61f4590a0c395420a3f85bb.png)
Unity 之 Start 与Update 方法的区别
文章目录 当谈论Unity中的 Start和 Update方法时,我们实际上是在讨论MonoBehaviour类中的两个常用方法,用于编写游戏逻辑。这两个方法在不同的时机被调用,因此您可以根据需要选择在哪个方法中编写特定的代码。 Start 方法: Start…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring Boot中如何编写优雅的单元测试
单元测试是指对软件中的最小可测试单元进行检查和验证。在Java中,单元测试的最小单元是类。通过编写针对类或方法的小段代码,来检验被测代码是否符合预期结果或行为。执行单元测试可以帮助开发者验证代码是否正确实现了功能需求,以及是否能够…...
![](https://img-blog.csdnimg.cn/img_convert/2ad8c79337b005f685f2c147ca899d26.png)
三星Galaxy S23与iPhone 15的对比分析:谁会胜出?
三星Galaxy S23与iPhone 15的对决将于下个月进入高潮,这将是今年智能手机中最大的一场较量。毕竟,这是两家领先的移动设备制造商的旗舰手机。他们的手机的比较将在很大程度上决定谁能获得最佳手机的称号。 我们已经知道有利于三星Galaxy S23的情况,该产品自春季以来一直在推…...
度娘网站桃花怎么做/百度推广如何代理加盟
1.下载nifi 1) 下载地址:http://nifi.apache.org/。 2) 下载nifi源码或者nifi编译好的二进制安装包 当然还有其他的方式下载,如github (github地址:https://github.com/apache/nifi.git) 2.编…...
![](https://images0.cnblogs.com/blog/92071/201402/262244503093893.png)
windows 2008 搭建网站/google学术搜索
SpriteSheet精灵动画引擎 本文介绍Flash中SpriteSheet精灵序列图与其它渲染方式的性能对比、SpriteSheet的原理及注意实现,最后实现了一个精灵序列图的渲染引擎。本文的SpriteSheet引擎及demo可以在github上下载:https://github.com/saylorzhu/SpriteShe…...
![](/images/no-images.jpg)
新的网站怎么做seo/网络营销的基本方式有哪些
铲除一切阻碍,轻装上阵,追逐梦想,让美梦成真。你梦想的职业是什么呢?写成英语作文和我们一起分享吧。下面是学习啦小编给大家整理的高中英语作文我的梦想职业,供你参考!高中英语作文我的梦想职业篇1My dream is to be a glorious…...
![](https://img-blog.csdnimg.cn/20200528114948507.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ppdG4yMDE5,size_16,color_FFFFFF,t_70#pic_center)
免费创建自己的网站/seo优化培训公司
5G网络能够被广泛推行,主要原因是5G融合了很多关键技术,这些关键技术使得5G在很多方面具有得天独厚的优势,这些优势也使得5G会被广泛应用在新一代智慧物流行业中。 (1)高速度数据传输 5G需要在网络速度方面进行提升&…...
![](http://common.cnblogs.com/images/copycode.gif)
wordpress 一键转发/一级消防工程师考试
简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法 iostat [ -c ] [ -d ] [ -h ] […...
asp.net做网站的流程/移动网站推广如何优化
先来说说序列化是什么吧,序列化是将对象的状态信息转换成可以存储或传输的形式的过程。在序列化期间,将对象的当前状态写入临时或永久存储区。稍后,您可以通过从存储区读取或恢复对象的状态重新创建对象。简而言之,序列化是一种将…...