【云服务器 ECS 实战】一文掌握负载均衡服务原理及配置方法

news/2024/5/20 0:42:56/文章来源:https://blog.csdn.net/weixin_53072519/article/details/128355888

在这里插入图片描述

    • 一、负载均衡基本原理概述
      • 协议/端口
      • 轮询策略
      • 会话保持
    • 二、云服务器 ECS 负载均衡相关配置
      • 协议&监听配置
      • 后端服务器配置
      • 健康检查配置
      • 测试


在上期文章中,介绍了负载均衡的概述及优势,并详细演示了阿里云服务器负载均衡服务的选型与购买配置。本期文章我们将对负载均衡的实现原理进行详细介绍,并对实例演示具体的配置操作,包括基础配置、健康检查配置、后端服务配置。

一、负载均衡基本原理概述

协议/端口

对于负载均衡的策略来说,用户是先访问我们的域名,进而访问到域名所解析到的负载均衡公网 IP,随后负载均衡再进行一层转发,转发至后端服务器。转发过程中的协议可由我们自己根据情况来定义。

在这里插入图片描述
比如使用 Http 协议类型,用户想要在前端访问到负载均衡,我们就需要配置 Http 协议与 80 端口,负载均衡也是使用 Http 协议转发至后台服务器,那么后端启用的服务或者监听也需要使用 Http 协议来进行匹配。也就是说前端与后端的协议类型都是相对应的。

轮询策略

前端与后端服务之间通过 轮询策略 来连接。它决定着负载均衡通过什么样的策略对后端服务器进行流量分发,分为轮询、加权轮询、加权最小连接数三种模式。

在这里插入图片描述
轮询 模式指前端通过海量流量来访问负载均衡,随后负载均衡将流量均匀的进行分发至服务器。比如将一堆苹果分给若干个孩子,从第一个孩子一人一个的往下发,发到最后一个孩子手里之后再返回来从第一个孩子开始一人一个的发。

在这里插入图片描述
加权轮询 模式在轮询的基础上加入了“权重”,为每一个服务器赋予权重值,根据权重来进行流量的分配,权重值越高,流量也越多。
在这里插入图片描述
加权最小连接数 模式在加权的基础之上又增添了最小连接数,在设置权重值的同时可根据该服务器的承受压力动态调整分配效果,如果某一服务器的流量较少,负载均衡则会考虑是否将一些流量分配过来。

在这里插入图片描述

会话保持

在负载均衡的高级配置中,还有一个属性叫做 会话保持。负载均衡按照轮询策略进行流量分发时,如果设置了会话保持,负载均衡将在固定的一段时间内将某一特定 IP 分发给某一个特定服务器。如下 IP1 分发给 服务器 1,IP2 分发给服务器 2,IP3 分发给服务器 3。

在这里插入图片描述
针对会话保持功能,TCP 协议会话保持基于 IP,只按照客户端的 IP 来进行负载均衡策略,用户从特定的 IP 访问也将访问到固定的服务。Http 协议会话保持基于 Cookie,每一个用户都有一个自己的 Cookie 信息,不同的用户进行访问时将根据他的 Cookie 信息来决定访问到哪一个服务,即使它们是通过同一个 IP 访问进来的。

二、云服务器 ECS 负载均衡相关配置

回到负载均衡控制台,已经购买成功的负载均衡服务如下,在控制台中以实例的方式展示;

在这里插入图片描述
点击“点我开始配置”选项,即可进入配置向导,在这里我们基于 Http 协议进行配置。可以看到共有四部分配置:

  1. 协议&监听
  2. 后端服务器
  3. 健康检查
  4. 配置审核

在这里插入图片描述

协议&监听配置

如下,后端协议使用 Http 协议的 80 端口;

在这里插入图片描述
在高级配置中,可选择调度算法、会话保持等功能,在这里如何没有特殊需要默认选项即可;

在这里插入图片描述

在这里插入图片描述
这就是协议&监听模块,然后点击“下一步”。

后端服务器配置

添加后端服务器可用于处理负载均衡接收到的访问请求,一台 ECS 再加上它部署的应用服务以及代码,就构成了一个完整的后端服务器。通常后台服务不止一个,如果我们一个一个的手动去部署的话,效率会很低,这时候就可以将线上已经运行好的 ECS 打包成镜像,通过镜像来生成多个后台服务。

首先在同一个区域新建 ECS 实例,来到负载均衡业务配置向导的第二步,有 虚拟服务器组默认服务器组主备服务器组 三种后端服务器供我们选择;

主备服务器即主服务器和备用服务器,主服务器来接收请求;备用服务器仅用来做备份,不对外提供服务,只有当主服务器故障无法提供服务时,备用服务器才会启用。当主服务器恢复后,备用服务器也再次回到备用状态。

虚拟服务器类似 nginx、apache 等服务,每个负载均衡实例可以创建多个虚拟服务器组,虚拟服务器组可关联到监听或转发规则,实现将不同业务转发到不同的后端服务器的功能。

在这里插入图片描述
我们这里使用默认服务器组,默认服务器是最常用的一种服务器类型,我们已经部署好的服务都可以添加到默认服务器中来。如下“小马服务器”是之前创建的 ECS 默认实例,我们可将其添加至默认后台服务器;

在这里插入图片描述
添加成功如下,我们可以为其设置端口和权重;

健康检查配置

第三步是健康检查配置,健康检查机制用于检查后台服务是否健康,当后端某台 ECS 健康检查出现异常时,负载均衡会自动将新的请求分发到其它健康检查正常的 ECS 上;而当该 ECS 恢复正常运行时,负载均衡会将其自动恢复到负载均衡服务中。

阿里云的健康检查机制分为两种,第一种是使用 TCP 协议检查,基于网络连接来进行检查服务是否正常;第二种是使用 HTTP 协议检查,面向应用层,会确定我们的请求是否可达或者能正常发起响应。

对于检查原理我们此处无需对其进行深入了解,阿里云健康检查是基于 LVS 和 Tengine 的,我们仅需选择“是否开启健康检查”即可。

在这里插入图片描述
至此,负载均衡业务的配置就完成了;

在这里插入图片描述
在这里插入图片描述
最后点击“提交”,配置成功。

在这里插入图片描述

测试

如下就是配置完成后的负载均衡实例;

在这里插入图片描述
回到云服务器 ECS 控制台,可以看到云服务器已关联负载均衡服务;

在这里插入图片描述
我们在浏览器访问负载均衡实例公网 IP,与我们部署的服务器公网 IP 效果一致。

在这里插入图片描述


Tips - 负载均衡使用注意事项:

  • 公网类型的负载均衡并不需要后台 ECS 配置公网;
  • 如果 ECS 有配置了公网 IP,需先修改路由,不能直接关闭;

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

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

相关文章

【YOLOv7-环境搭建③】PyCharm安装和环境、解释器配置

下载链接: 来源:(博主)唐三. 链接:https://pan.baidu.com/s/1y6s_EScOqvraFcx7iPSy1g 提取码:m1oa 安装: 以管理员身份打开安装完成后,打开软件到达以下界面,框框全选到达以下界面&#xf…

一起Talk Android吧(第四百四十五回:UI控件之TimePicker)

文章目录概念介绍使用方法内容总结各位看官们大家好,上一回中咱们说的例子是"UI控件之DatePicker",这一回中说的例子是"UI控件之TimePicker"。闲话休提,言归正转,让我们一起Talk Android吧! 概念介绍 看官们…

【Spring]SpringMVC

一、SpringMVC简介 1、什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层。指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 实体类Bean:专门存储业务数据…

ClassLoader 隔离性的基石是namespace,证明给你看

一、背景 朋友:在我知识体系中ClassLoader的双亲委派机制是流畅丝滑的,可是看到通过委派执行类加载来保障这种分治能力,进而达到了类资源的隔离性突然就感觉有点陌生和排斥呢? 我:类的命名空间有了解嘛? …

优秀的后端应该有哪些开发习惯?

见识过各种各样的代码,优秀的、垃圾的、不堪入目的、看了想跑路的等等,所以这篇文章记录一下一个优秀的后端 Java 开发应该有哪些好的开发习惯。 拆分合理的目录结构 受传统的 MVC 模式影响,传统做法大多是几个固定的文件夹 controller、service、mapper、entity,然后无限…

超越nnFormer!UNETR++:高效准确的3D医学图像分割

UNETR: Delving into Efficient and Accurate 3D Medical Image Segmentation 论文链接: https://arxiv.org/abs/2212.04497 代码链接: https://github.com/Amshaker/unetr_plus_plus 导读 这篇论文主要讲述了一种名为 UNETR 的 3D 医学图像分割方法&…

Spring MVC【创建与使用】

Spring MVC【创建与使用】🍎一.Spring MVC介绍🍒1.1 什么是SpringMVC?🍒1.2 MVC 定义🍒1.3 Spring MVC 与 MVC 的区别🍒1.4 Spring MVC的基本功能🍎二. Spring MVC项目的创建🍒2.1 Spring MVC …

[附源码]计算机毕业设计PythonQ宝商城(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

WebService基于Baidu OCR和Map API的导航服务

哈尔滨工业大学国家示范性软件学院 《面向服务的软件系统》大作业 项目题目: 基于OCR和地图API的路牌定位与导航服务 项目组成员: 姓名 学号 李启明 120L021920 完成日期: 2022年 12 月 15 日 1.选题 1.1 作业…

Spring Boot热部署配置

⭐️前言⭐️ 在我们进行Spring Boot项目的编写过程中,会有局部的代码,发生一些变动,这时候,我们只有将项目重启,发生变动的代码才能够生效,为了解决这个问题,我们可以设置Spring Boot热部署&a…

【财务】FMS财务管理系统---应收管理

笔者前面介绍了FMS财务管理系统相关逻辑结构,本篇文章继续对应收管理进行了系统的介绍,希望通过此文能够加深你对FMS财务管理系统的认识。 上一篇主要介绍了财务进销存系统的数据流与模块组成,知道了FMS系统中数据的来源并从系统结构上说明了…

Wireshark 实验

本部分按照数据链路层、网络层、传输层以及应用层进行分类,共有 10 个实验。需要使用协议分析软件 Wireshark 进行,请根据简介部分自行下载安装。 准备 请自行查找或使用如下参考资料,了解 Wireshark 的基本使用: 选择对哪块网…

Linux——linux面试题

cat a.txt | cut -d "/" -f 3 | sort | uniq -c |sort -nrgrep ESTABLISHED | awk -F " " {print $5} |cut -d ":" -f 1 | sort |uniq -c | sort -nr找回mysql的root用户的密码 首先,进入到/etc/my.cnf,插入一句skip-gra…

Linux——虚拟机安装Linux系统

实验1-2 虚拟机安装Linux系统 VMware 9.0 虚拟机Linux镜像ISO文件相关工具可以在这里边找到 http://pan.baidu.com/s/1ntA18FJ 或者请自行下载使用 创建新的虚拟机,如下图: 下一步:选择安装配置类型为“典型”如下图: 下一步&…

大厂频频裁员,0基础转行做IT是不是已经晚了

现在转行做程序员是不是已经晚了 转行不会晚,晚的是你数不清的犹豫 对于二十来岁刚毕业或者毕业没几年的人来说,经历过社会的“摧残”,面对着一眼能够望到头的工作,拿着也不太高的工资,总是会去寻求一些改变与其每天…

net/http 库的客户端实现(上)

前言 Go语言标准库 net/http 是一个非常强大的标准库,使得构建 HTTP 请求和编写 Web 服务器的工作变得非常简单。 我们来看看是他是如何实现客户端和服务端的。 使用示例 假设本地有一个GET方法的HTTP接口,响应 Hello World! 使用 net/ht…

密西根大学张阳实验室郑伟博士在CASP15蛋白质结构预测大赛中斩获多项冠军

简报:在有着蛋白质结构预测领域奥林匹克竞赛之称的最新一届CASP比赛中(CASP15),密西根大学张阳教授和Peter Freddolino教授实验室的郑伟博士在多个比赛项目中获得冠军。其中D-I-TASSER算法(参赛名:“UM-TBM…

python中调用命令行执行外部程序

🌞欢迎来到python的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🌠本阶段属于练气阶段,希望各位仙友顺利完成…

Web前端大作业——城旅游景点介绍(HTML+CSS+JavaScript) html旅游网站设计与实现

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

【YOLOv7-环境搭建】PyTorch安装后输出版本显示No module named ‘Torch’的解决方法

可能一:PyCharm环境导入错误 配置的解释器,必须为所创建的虚拟环境下的python.exe文件,别的路径下的python.exe文件不好使!! 解决方法:根据【YOLOv7-环境搭建③】PyCharm安装和环境、解释器配置文中配置解…