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

news2024/9/25 23:25:43

在这里插入图片描述

    • 一、负载均衡基本原理概述
      • 协议/端口
      • 轮询策略
      • 会话保持
    • 二、云服务器 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.coloradmin.cn/o/97607.html

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

相关文章

字节最新秋招面试题泄露,“背完”这些你也可以拿到字节offer

Java 一面基本上都是基础题,同样是 CURD 的活,谁更熟练要谁,比如下面这些面试题,八股文越熟练越容易通过 Java 面试。下面会给大家详解的介绍一下每个技术点的必问问题! 一、Java 基础 1.JDK动态代理和CGLIB动态代理的…

12月18日第壹简报,星期日,农历十一月廿五

12月18日第壹简报,星期日,农历十一月廿五1. 官方:预计我国今年经济总量超过120万亿元,明年经济有望总体回升。2. 多地血库告急,两部门修改“指引”:最后一次新冠核酸或抗原阳性结果7天后可献血。3. 北京&am…

Wireshark 实验

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

DropBox系列-打造车载系统APM框架

前言: 作者本人负责公司的APM监控模块,因为工作的原因,对ANR,crash等流程研究的比较多,最近在打造APM监控平台的时候,顺带对DropBox的实现原理进行了一定的学习和研究,发现了一些妙用&#xff…

【DELM回归预测】基于海鸥算法改进深度学习极限学习机SOA-DELM实现数据回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

基于java+springmvc+mybatis+vue+mysql的疫情时期药物管理系统

项目介绍 前端页面: 功能:首页、医生、药品信息、药品资讯、个人中心、后台管理、在线客服 管理员后台管理页面: 功能:首页、个人中心、用户管理、医生管理、药品类别管理、药品信息管理、药品购买管理、在线咨询管理、系统管理…

Python图像处理【4】图像线性变换

图像线性变换0. 前言1. 2D 线性几何变换数学原理2. 使用 scipy.ndimage 旋转图像3. 使用 Numpy 翻转图像4. 使用 scipy.ndimage 实现仿射变换4.1 仿射变换原理4.2 实现仿射变换小结系列链接0. 前言 图像线性变换是图像处理中的基本运算,通常用于调整图像的视觉效果…

【Spring Cloud】如何安装与配置Nacos注册中心?

本期目录1. Nacos介绍2. Nacos安装2.1 Windows安装3. 配置Nacos3.1 引入依赖3.2 修改配置文件3.3 启动并测试1. Nacos介绍 Nacos 是阿里巴巴的产品,使用 Java 语言开发。比 Eureka 功能更丰富,除了可以作注册中心,还可以作配置中心。 2. Nac…

【Java开发】Staffjoy 02 :系统架构设计

本文主要对 Staffjoy 项目的架构做一个介绍和衍生,包括数据模型、各服务接口模型及框架选择等,希望能让大家对于项目有个整体的把握和判断,本文最后也列举了 Dubbo、Spring Cloud 和 K8s 三种微服务框架的异同~ 目录 1 架构设计 1.1 总体架…

毕业设计 基于PID控制的智能平衡车 - stm32 物联网 单片机【超详细】

文章目录0 前言1 课题背景2 设计内容3 设计方案3.1 设计思路3.3 硬件设计3.4 软件设计3.4.1 关键技术 - PID控制算法3.4.2 关键技术 - 倾角估计算法3.4.3 关键技术 - 直立控制算法3.4.4 速度控制3.4.5 方向控制4 视频演示5 最后0 前言 🔥 这两年开始毕业设计和毕业…

长短时记忆网络(LSTM)负荷预测项目(matlab)

目录 1. LSTM介绍 2. 数据集准备及预处理 3. LSTM模型搭建与训练 4. 预测模型测试 1. LSTM介绍 长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径…

每日一道LeetCode(一):两数之和

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

刷完这1000道JAVA面试题,让你成功逆袭上岸

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。 由于整个笔记比较全面,内容相当的多 ,这里仅展示面经中的面试真题&#xff0…

Keras深度学习实战(41)——语音识别

Keras深度学习实战(41)——语音识别0.前言1. 模型与数据集分析1.1 数据集分析1.2 模型分析2. 语音识别模型2.1 数据加载与预处理2.2 模型构建与训练小结系列链接0.前言 语音识别(Automatic Speech Recognition, ASR,或称语音转录文本)使声音…

openssl加密base64编码

openssl OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 首先,要安装 openssl: centos命令: sudo yum install openssl-devel ubuntu命令&#x…

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

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

NUS CS5477 assignment1

课程链接三维视觉 作业任务任务 课程任务就一个,实现一个Linear Sweep Algorithm,这个算法是用来检测两张图片之间的对应点。 因为SIFT检测如果把检测点的数量增大,可能会存在一些错误错误检测点,所有通常把SIFT检测的点的数量…

内网穿透:在家远程ssh访问学校内部网服务器

注册一个cpolar账号 cpolar官网注册即可(邮箱即可) cpolar支持http/https/tcp协议,不限制流量(花生壳免费只能使用1G流量),也不需要公网ip,只要在服务器上安装客户端即可配置,免费&…

攻防世界-file_include

题目 访问路径获得源码 <?php highlight_file(__FILE__);include("./check.php");if(isset($_GET[filename])){$filename $_GET[filename];include($filename);} ?> 通过阅读php代码&#xff0c;我们明显的可以发现&#xff0c;这个一个文件包含的类型题…

Java项目:ssm校内超市管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统分为管理员与普通用户两种角色。采用后端SSM框架&#xff0c;前端BootStrap&#xff08;前后端不分离&#xff09;的系统架构模式&#x…