1. lvs负载均衡

lvs负载均衡

  • 一、集群技术概述
    • 1、集群技术类型
    • 2、负载均衡技术
    • 3、高可用技术
  • 二、负载均衡 LVS
    • 1、LVS介绍
    • 2、负载均衡策略/算法
    • 3、LVS设计模式
    • 3.1 NAT模式的注意事项
    • 3.2 DR 直接路由模式的注意事项
  • 三、LVS nat模式的实现
    • 1、确认后端服务器网关正确
    • 2、安装ipvsadm软件
    • 3、开启路由转发
    • 4、创建虚拟服务
    • 5、添加后端real server
    • 6、测试访问
  • 四、DR模式配置
    • 1、所有real server配置VIP
    • 2、所有real server修改arp系统参数
    • 3、创建虚拟服务
    • 4、添加后端的real server
    • 5、测试访问
  • 五、持久性连接

一、集群技术概述

1、集群技术类型

负载均衡集群, Load Balance LB
高可用集群, High Avalibility HA

2、负载均衡技术

在这里插入图片描述

3、高可用技术

避免关键业务的单点故障
通过优先级选择主备角色,主负责转发客户端流量 ,同时会向备发送心跳信息,备一段时间内接收不到心跳,会认为主宕机故障,自动会接替主的工作继续转发流量
在这里插入图片描述

二、负载均衡 LVS

1、LVS介绍

LVS Linux Virtual Service Linux虚拟服务
集成在内核中负载均衡模块
国内章文嵩博士研发

2、负载均衡策略/算法

1、rr 轮询, 解决会话持久的问题
2、wrr 加权轮询,为后端服务器设置不同的权重值
3、lc 最少连接
4、wlc 加权最少连接, 【默认】
5、sh 源hash,一段时间内, 同一个客户端的访问请求会转发到同一个后端服务器

3、LVS设计模式

  • NAT模式
    请求、响应都是要经过调度器
    在这里插入图片描述
  • DR直接路由模式
    请求经过调度器,响应由后端服务器直接响应给客户端
    在这里插入图片描述
  • TUN隧道模式

3.1 NAT模式的注意事项

1、VIP、DIP要属于两个不同的网络
2、负载均衡器要开启路由转发功能
3、所有real server的网关要指向DIP
在这里插入图片描述

3.2 DR 直接路由模式的注意事项

1、所有的real server必须要配置VIP,目的是为了可以正常接收请求
2、所有的real server修改两个参数
arp_ignore=1, 避免VIP产生冲突
arp_announce=2, 避免客户端直接访问后端的real server,失去负载均衡的效果

三、LVS nat模式的实现

在这里插入图片描述

1、确认后端服务器网关正确

[root@web01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.171.100 0.0.0.0         UG    100    0        0 ens33
192.168.171.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33网关指向DIP 

2、安装ipvsadm软件

[root@lvs ~]# yum install -y ipvsadm 

3、开启路由转发

[root@lvs ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1[root@lvs ~]# sysctl -p

4、创建虚拟服务

[root@lvs ~]# ipvsadm -A -t 192.168.146.100:80 -s rr

5、添加后端real server

[root@lvs ~]# ipvsadm -a -t 192.168.146.100:80 -r 192.168.171.10:80 -m
[root@lvs ~]# ipvsadm -a -t 192.168.146.100:80 -r 192.168.171.20:80 -m

查看虚拟服务

[root@lvs ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.146.100:80 rr-> 192.168.171.10:80            Masq    1      0          0         -> 192.168.171.20:80            Masq    1      0          0      

6、测试访问

C:\Users\admin>curl 192.168.146.100
web02C:\Users\admin>curl 192.168.146.100
web01C:\Users\admin>curl 192.168.146.100
web02C:\Users\admin>curl 192.168.146.100
web01

查看连接

[root@lvs ~]# ipvsadm -L -n -c
IPVS connection entries
pro expire state       source             virtual            destination
TCP 01:24  TIME_WAIT   192.168.146.1:57818 192.168.146.100:80 192.168.171.10:80
TCP 01:25  TIME_WAIT   192.168.146.1:57820 192.168.146.100:80 192.168.171.10:80
TCP 01:22  TIME_WAIT   192.168.146.1:57813 192.168.146.100:80 192.168.171.20:80
TCP 01:24  TIME_WAIT   192.168.146.1:57816 192.168.146.100:80 192.168.171.10:80
TCP 01:22  TIME_WAIT   192.168.146.1:57812 192.168.146.100:80 192.168.171.10:80
TCP 00:47  TIME_WAIT   192.168.146.1:57796 192.168.146.100:80 192.168.171.20:80
TCP 01:20  TIME_WAIT   192.168.146.1:57808 192.168.146.100:80 192.168.171.20:80
TCP 00:46  TIME_WAIT   192.168.146.1:57795 192.168.146.100:80 192.168.171.10:80
TCP 01:21  TIME_WAIT   192.168.146.1:57811 192.168.146.100:80 192.168.171.20:80

四、DR模式配置

在这里插入图片描述

1、所有real server配置VIP

[root@web01 ~]# ip addr add dev lo 192.168.140.100/3232位掩码代码没有主机位,网络中只有这一个IP 

2、所有real server修改arp系统参数

[root@web01 ~]# vim /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2[root@web01 ~]# sysctl -p

3、创建虚拟服务

[root@lvs ~]# ip addr add dev lo 192.168.140.100/32
[root@lvs ~]# 
[root@lvs ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet 192.168.140.100/32 scope global lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host 
[root@lvs ~]# ipvsadm -A -t 192.168.140.100:80 -s rr

4、添加后端的real server

[root@lvs ~]# ipvsadm -a -t 192.168.140.100:80 -r 192.168.140.11:80 -g 
[root@lvs ~]# ipvsadm -a -t 192.168.140.100:80 -r 192.168.140.12:80 -g [root@lvs ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.140.100:80 rr-> 192.168.140.11:80            Route   1      0          0         -> 192.168.140.12:80            Route   1      0          0       

5、测试访问

C:\Users\admin>curl 192.168.140.100
web02C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web02C:\Users\admin>curl 192.168.140.100
web01

五、持久性连接

一段时间内,同一个客户端请求会转发到同一个后端服务器
解决会话持久问题

[root@lvs ~]# ipvsadm -E -t 192.168.140.100:80 -s rr -p 300[root@lvs ~]# ipvsadm -L -n 
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.140.100:80 rr persistent 300-> 192.168.140.11:80            Route   1      0          0         -> 192.168.140.12:80            Route   1      0          0     
C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01C:\Users\admin>curl 192.168.140.100
web01

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

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

相关文章

[AIGC] SpringBoot的自动配置解析

下面是一篇关于SpringBoot自动配置的文章&#xff0c;里面包含了一个简单的示例来解释自动配置的原理。 SpringBoot的自动配置解析 Spring Boot是Spring的一个子项目&#xff0c;用于快速开发应用程序。它主要是简化新Spring应用的初始建立以及开发过程。其中&#xff0c;自动…

java第二十一课 —— 快捷键,包,访问修饰符

IDEA 快捷键 删除行&#xff1a;Ctrl Y复制行&#xff1a;Ctrl D补全代码&#xff1a;Alt /添加取消注释&#xff1a;Ctrl /导入该行需要的类&#xff1a;Alt Enter快速格式化代码&#xff1a;Ctrl Shift L快速运行程序&#xff1a;Ctrl Shift F10生成构造器&#xf…

360数字安全:2024年1月勒索软件流行态势分析报告

勒索软件传播至今&#xff0c;360反勒索服务已累计接收到数万次勒索软件感染求助。随着新型勒索软件的快速蔓延&#xff0c;企业数据泄露风险不断上升 &#xff0c;勒索金额在数百万到近亿美元的勒索案件不断出现。勒索软件给企业和个人带来的影响范围越来越广&#xff0c;危害…

直播商城源码-PC+APP+H5+小程序现成源码

随着电商行业的不断演进&#xff0c;直播商城已成为连接消费者和商品的新兴桥梁。直播商城源码提供了一个完整的解决方案&#xff0c;使得企业能够迅速搭建起一个覆盖PC、APP、H5和小程序的全渠道电商平台。本文将探讨直播商城源码的优势、关键功能以及如何选择适合的现成源码。…

在Linux中查找文件命令的几种方法

要在Linux中查找文件&#xff0c;可以使用以下几种不同的实现方法&#xff1a; 1. 使用find命令&#xff1a; find <搜索路径> <搜索选项> <搜索条件><搜索路径>&#xff1a;表示要搜索的起始路径&#xff0c;可以是一个具体的目录路径&#xff0c;也…

如何搭建一个高效的帮助网站?

在当今数字化时代&#xff0c;拥有一个高效的帮助网站对于企业来说至关重要。无论是为了提供产品支持、解答常见问题&#xff0c;还是为了增强用户体验和品牌形象&#xff0c;一个贴心、专业的帮助网站都能为企业赢得更多的用户和客户。那么&#xff0c;如何才能搭建一个高效的…

设置电脑定时关机

1.使用快捷键winR 打开运行界面 2.输入cmd &#xff0c;点击确认&#xff0c;打开命令行窗口&#xff0c;输入 shutdown -s -t 100&#xff0c;回车执行命令&#xff0c;自动关机设置成功 shutdown: 这是主命令&#xff0c;用于执行关闭或重启操作。-s: 这个参数用于指定执行关…

华为端云一体化开发 初始化云db表结构和表数据(实践2.0)(HarmonyOS学习第七课)

实例介绍&#xff1a;黑马鸿蒙刷题学习过程 1. 静态页面准备 借用黑马完成的页面&#xff0c;已经提供给大家一套写好的基本模板&#xff0c;大家直接将这套模板覆盖原有entry/src/main目录就可以 &#x1f4ce;main.ziphttps://www.yuque.com/attachments/yuque/0/2024/zip…

第十七章 创建Web客户端 - 其他调整

文章目录 第十七章 创建Web客户端 - 其他调整其他调整使用生成的 Web 客户端类示例 1&#xff1a;使用使用包装消息的客户端示例 2&#xff1a;使用使用未包装消息的客户端 第十七章 创建Web客户端 - 其他调整 其他调整 如果 WSDL 未指定 Web 服务的位置&#xff0c;则 SOAP …

linux 删除磁盘分区

1. 卸载分区 sudo df -h sudo umount {mp} 如果报target is busy&#xff0c;说明有进程在访问挂载点&#xff0c;通过fuser命令查看哪些进程在访问&#xff0c;&#xff08;确保可删除后&#xff09;删掉对应进程即可 fuser -mv {mp} 2. 删除分区 指定删除 删除part分区…

IngsollRang伺服拧紧轴控制器维修故障排查

【IngsollRang控制器故障排查】 在开始维修之前&#xff0c;请确保拧紧机已关闭并断开电源。然后&#xff0c;按照以下步骤进行故障排查&#xff1a; 1. 检查电源连接&#xff1a;确保拧紧机的电源线牢固连接&#xff0c;且电源插座正常工作。 2. 检查保险丝&#xff1a;如果电…

贪心算法-加油站

一、题目描述 二、解题思路 1.运动过程分析 这里需要一个油箱剩余油量的变量resGas&#xff0c;初始化resGas0&#xff1b;还需要一个标记从什么位置当做初始位置的startIdx&#xff0c;初始化startIdx0。 我们从数组下标idx0处开始向后遍历&#xff0c;初始时startIdx0&#…

java的核心机制:JVM

JVM&#xff08;java virtual machine&#xff0c;java虚拟机&#xff09;&#xff1a;是一个虚拟的计算机&#xff0c;是java程序的运行环境。JVM具有指令集并使用不同的存储区域&#xff0c;负责执行指令&#xff0c;管理数据、内存、寄存器。 JVM功能1&#xff1a;实现java程…

Unity DOTS技术(十三) ComponentSystem及JobComponentSystem

文章目录 一.ComponentSystem介绍二.JobComponentSystem 一.ComponentSystem介绍 1.继承ComponentSystem需要实现抽象OnUpdate() 2.与SystemBase不同,ComponentSystem不包含LambdaSingleJobDescription, 3.CompoentSystem的带代码都是在主线程上运行,不支持多线程. 4.并不能在…

网络编程之XDP技术介绍

一、简介 XDP&#xff1a;eXpress Data Path&#xff0c;快速数据面&#xff0c;听名字是不是很高大上。其实它就是一个快速处理Rx数据包的数据面技术。为什么现在对数据处理如此敏感&#xff1f;原因非常简单&#xff0c;随着网络的不断覆盖社会的各个层面&#xff0c;海量的…

发布自己的 npm 插件包:步骤与最佳实践

在 Node.js 的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;是一个不可或缺的组成部分。npm 允许开发者创建、共享和使用各种库和插件。如果你有自己的 Node.js 插件或库&#xff0c;并且希望与全世界的其他开发者共享&#xff0c;那么发布到 npm 是…

android 编译源码添加日志打印

最近闲来无事&#xff0c;把源码编译一下&#xff0c;然后把这个源码编译到pixel3手机上&#xff0c;并且简单修改一下源码的网络请求&#xff0c;添加一些日志打印&#xff0c;堆栈打印&#xff0c;记录一下防止忘记 首先需要下载源码 下载对应源码对应的驱动 https://develop…

Docker 创建mysql用户

要在Docker中以root用户身份创建一个MySQL数据库&#xff08;schema&#xff09;并设置一个新用户xiaokkk&#xff0c;密码为123456&#xff0c;您需要先确保您的Docker容器正在运行&#xff0c;并且知道如何连接到它。以下是一步步的指南&#xff1a; 1. 连接到Docker中的MyS…

Rhino Linux 2024.1

Rhino Linux 2024.1的发布信息概述如下&#xff1a; 1. **开发更新**&#xff1a; - 由于开发者原因&#xff0c;开发进程曾一度停滞&#xff0c;但目前团队已起草了Rhino Linux宪法&#xff0c;重点在于社区参与。 - 组织结构的变化将在此次发布后不久生效。 - 社区…

JVM学习-详解类加载器(二)

双亲委派机制 双亲委派优势 避免类的重复加载&#xff0c;确保一个类的全局唯一性 Java类随着它的类加载器一起具备了一种带有优先级的层次关系&#xff0c;通过这种层次关系可以避免类的重复加载&#xff0c;当父类已经加载了该类&#xff0c;就没有必要子ClassLoader再加载…