NGINX负载均衡及LVS-DR负载均衡集群

目录

  • LVS-DR原理
  • 搭建过程
  • nginx 负载均衡

LVS-DR原理

原理
1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链
3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群
服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP
地址及端口,并将新的数据包发往POSTROUTING链
4. POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将
数据包最终发送给后端的服务器

组成:
LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层,用Load Balancer表示,中间的服务器群组层,用Server Array表示,最底端的数据共享存储层,用Shared Storage表示。

搭建过程

192.168.190.200 作为调度器director
192.168.190.201 为web服务器1
192.168.190.202 为web服务器2
192.168.190.128 为客户端
1,安装工具ipvsadm

yum install ipvsadm

2,配置LVS虚拟IP(VIP)

ifconfig ens33:200 192.168.190.200 netmask 255.255.255.0 up

3,手工执行配置添加LVS服务并增加两台RS

ipvsadm -C
ipvsadm --set 30 5 60
ipvsadm -A -t 192.168.190.200:80 -s wrr -p 20
ipvsadm -a -t 192.168.190.200:80 -r 192.168.190.201:80 -g -w 1
ipvsadm -a -t 192.168.190.200:80 -r 192.168.190.202:80 -g -w 1ipvsadm-save > /etc/sysconfig/ipvsadm

各个参数含义

            -A  添加虚拟服务器-t  设置群集地址(VIP,Virtual IP)-s  指定负载调度算法-a  添加真实服务器-d  删除真实服务器-r  指定真实服务器(Real Server)的地址-m  使用NAT模式;-g、-i分别对应DR、TUN模式-w  为节点服务器设置权重,默认为1

4, 查看配置信息

[root@localhost ~]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http wrr persistent 20-> 192.168.190.201:http         Route   1      0          0         -> 192.168.190.202:http         Route   1      0          0 

5,手工在RS端绑定VIP

每台real server端执行201上的操作
ifconfig lo:200 192.168.190.200 netmask 255.255.255.255 up
route add -host 192.168.190.200 dev lo
202上的操作
ifconfig lo:200 192.168.190.200 netmask 255.255.255.255 up
route add -host 192.168.190.200 dev lo

6,手工在RS端抑制ARP响应

每台real server端执行
调整内核参数,关闭arp响应

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

测试结果:需要等待一段时间再刷新就会变成201

在这里插入图片描述

nginx 负载均衡

准备机器:

负载均衡器:192.168.190.132
web1服务器: 192.168.190.128
web2服务器: 192.168.190.134
所有的机器需要安装NGINX服务

步骤:
1,在负载均衡器上

打开配置文件写入内容

vim /etc/nginx/nginx.conf
在http 区块里面新增以下内容
upstream pool1 {       # 负载均衡池,里面记录的是要转发到的服务器server 192.168.190.128:80 weight=1;     # 主机及权重值server 192.168.190.134:80 weight=1;}server {listen 80;   # 监听端口server_name www.fuzaijunheng.com;location / {proxy_pass http://pool1;  # 当访问到www.fuzaijunheng.com 时将会转发到 负载均衡池}}

2,在web1服务器上

打开配置文件写入如下:

vim /etc/nginx/nginx.conf
在http 区块里面新增以下内容:server {listen       80;server_name  192.168.190.128;location / {root    /usr/share/nginx/html1;    # 访问的目录index   index.html;   # 需要寻找的类型}然后创建目录写入数据
mkdir /usr/share/nginx/html1
echo web1 > /usr/share/nginx/html1/index.html

3,在web2服务器上

打开配置文件写入如下:

vim /etc/nginx/nginx.conf
在http 区块里面新增以下内容:server {listen       80;server_name  192.168.190.134;location / {root    /usr/share/nginx/html1;    # 访问的目录index   index.html;   # 需要寻找的类型}然后创建目录写入数据
mkdir /usr/share/nginx/html1
echo web2 > /usr/share/nginx/html1/index.html

最后,重启3台机器
4,域名写入解析文件

echo 192.168.190.132 www.fuzaijunheng.com >> /etc/hosts

5,在负载均衡器上测试

[root@localhost ~]# for((i=0;i<6;i++)); do curl www.fuzaijunheng.com; done
web1
web2
web1
web2
web1
web2

以上就测试成功了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/88185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android JNI实现锅炉压力显示系统详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 第一步创建GuoLu.c文件 // // Created by DELL on 2023/8/13. // #include <stdio.h…

vue3使用pinia和pinia-plugin-persist做持久化存储

插件和版本 1、安装依赖 npm i pinia // 安装 pinia npm i pinia-plugin-persist // 安装持久化存储插件2、main.js引入 import App from ./App.vue const app createApp(App)//pinia import { createPinia } from pinia import piniaPersist from pinia-plugin-persist //持…

2023深圳杯A题完整代码模型

已更新深圳杯A题全部版本&#xff0c;文末获取&#xff01; 摘要 现代社会&#xff0c;随着生活方式的变化和工作压力的增大&#xff0c;慢性非传染性疾病日益成为威胁公众健康的主要问题。心脑血管疾病、糖尿病、恶性肿瘤及慢性阻塞性肺病等慢性病的发病率呈现出上升趋势。为…

缓存 基础

在项目里面缓存是怎么用的? 项目中缓存是如何使用的&#xff1f;为什么要用缓存&#xff1f;缓存使用不当会造成什么后果? 这个问题&#xff0c;互联网公司必问&#xff0c;要是一个人连缓存都不太清楚&#xff0c;那确实比较尴尬。 只要问到缓存&#xff0c;上来第一个问题…

六种不同的CRM系统类型分别有哪些特点?

企业想要管理销售&#xff0c;可以选择CRM系统&#xff1b;企业想要优化业务流程&#xff0c;可以选择CRM系统&#xff1b;企业想要提高收入&#xff0c;可以选择CRM系统。下面来说说&#xff0c;CRM是什么&#xff1f;六种常见CRM系统类型对比。 什么是CRM&#xff1f; CRM是…

wpf控件上移下移,调整子集控件显示顺序

页面代码: <!-- 导出A2,自定义导出设置列,添加时间:2023-8-9 14:14:18,作者:whl; --><Window x:Class="WpfSnqkGasAnalysis.WindowGasExportA2"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http:/…

natapp内网穿透

下载 参考 https://natapp.cn/article/natapp_newbie 注册免费通道 启动 ./natapp -authtoken9ab6b9040a624f40

JS逆向系列之猿人学爬虫第11题 - app抓取 - so文件协议破解

题目地址 http://match.yuanrenxue.com/match/11这是个app题目,先下载下来安装到测试手机上 安装完成后的app界面长这样 打开之后是这样的: 要求已经简单明了了。 二话不说先反编译app 不出意外的是没出意外,源代码里面没啥混淆,所有东西都展示的明明白白的。 "…

仅使用 CSS 创建打字机动画效果

创建打字机效果比您想象的要容易。虽然实现这种效果的最常见方法是使用 JavaScript&#xff0c;但我们也可以使用纯 CSS 来创建我们的打字机动画。 在本文中&#xff0c;我们将了解如何仅使用 CSS 创建打字机动画效果。它简单、漂亮、容易。我们还将看看使用 CSS 与 JavaScrip…

【Mysql】数据库基础与基本操作

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

【数学建模】逻辑回归算法(Logistic Resgression)

逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是&#xff0c;尽管"逻辑回归"名字带有“回归”二字&#xff0c;但逻辑回归是一个分类算法&#xff0c;而不是回归算法。 我认为&#xff…

Playwright 和 Selenium 的区别是什么?

前言 最近有不少同学问到 Playwright 和 Selenium 的区别是什么&#xff1f; 有同学可能之前学过 selenium 了&#xff0c;再学一个 playwright 感觉有些多余&#xff0c;可能之前有项目已经是 selenium 写的了&#xff0c;换成 playwright 需要时间成本&#xff0c;并且可能有…

2023年10款常用的Mac工具合集

Typora Typora 是一款由 Abner Lee 开发的轻量级 Markdown 编辑器&#xff0c;与其他 Markdown 编辑器不同的是&#xff0c;Typora 没有采用源代码和预览双栏显示的方式&#xff0c;而是采用所见即所得的编辑方式&#xff0c;实现了即时预览的功能&#xff0c;但也可切换至源代…

设计模式再探——策略模式

目录 一、背景介绍二、思路&方案三、过程1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造(配置文件反射) 四、总结五、升华 一、背景介绍 最近在做产品的过程中&#xff0c;对于主题讨论回复内容&#xff0c;按照追评次数排…

Oracle到DM实时数据同步实施方案

目录 1 项目概述 2 需求分析 3 实施操作 3.1 历史数据全量同步 3.2 增量数据实时同步 4 问题总结 4.1 字符型非空约束 4.2 字符型唯一索引尾部空格 1 项目概述 将Oracle 11g RAC生产环境数据同步到DM8分析环境&#xff0c;Oracle数据库大小1.5T&#xff0c;日增归档10…

软工导论知识框架(八)面向对象设计风格

一.面向对象实现 把面向对象设计结果翻译成面向对象程序测试并调试面向对象的程序 二.程序设计语言 所有语言都可完成面向对象实现&#xff0c;但效果不同。 使用非面向对象语言编写面向对象程序&#xff0c;则必须由程序员自己把面向对象概念映射到目标程序中。 1.将来能够占…

2023国赛数学建模A题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

0基础学C#笔记10:归并排序法

文章目录 前言一、递归的方式二、代码总结 前言 将一个大的无序数组有序&#xff0c;我们可以把大的数组分成两个&#xff0c;然后对这两个数组分别进行排序&#xff0c;之后在把这两个数组合并成一个有序的数组。由于两个小的数组都是有序的&#xff0c;所以在合并的时候是很…

38 | 浦发银行股票分析案例

本文将通过一个浦发银行股票分析案例,探讨如何从多个维度对股票进行分析,包括基本面、技术面和市场环境等因素。我们将深入挖掘浦发银行的财务数据、业务模式以及市场定位,以了解其内在价值和潜在风险。同时,我们还将考察技术面的指标,如价格走势、均线形态等,以揭示市场…

全球劳动力革命,Papaya Global 打破薪资界限

员工需求和劳动力结构的进一步变化&#xff0c;只会增加对更加自动化和全面的全球薪资解决方案的需求。 远程工作潮流与全球劳动力的蓬勃发展&#xff0c;使得企业在全球范围内&#xff0c;寻找最优秀的人才成为可能。然而&#xff0c;随之而来的复杂薪资管理挑战&#xff0c;也…