当前位置: 首页 > news >正文

产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡

摘要: 负载均衡是一种技术,从字面意义上理解,就是让负载(变得)均衡,负载是什么呢?可以理解为工作量、工作强度。用日常生活中的例子来打比方,一群建筑工人,盖一幢楼房,有搬砖的,有和水泥的,有砌墙的,有刷油漆的,同时每个工人的劳动能力还各有差别,如果让这些工作自组织的干起活来,可能有的人忙到累死,而有的人闲的无聊 ,因此不论大小工地上,都会存在监工、项目经理、包工头等这样的角色,他们会统观全局,识别每个工人的工作强度,合理分配任务,保证建筑活动的正常开展,很大程度上起到了的负载均衡的作用, 这就是负载均衡在生活中的例子。

负载均衡是一种技术,从字面意义上理解,就是让负载(变得)均衡,负载是什么呢?可以理解为工作量、工作强度。用日常生活中的例子来打比方,一群建筑工人,盖一幢楼房,有搬砖的,有和水泥的,有砌墙的,有刷油漆的,同时每个工人的劳动能力还各有差别,如果让这些工作自组织的干起活来,可能有的人忙到累死,而有的人闲的无聊 ,因此不论大小工地上,都会存在监工、项目经理、包工头等这样的角色,他们会统观全局,识别每个工人的工作强度,合理分配任务,保证建筑活动的正常开展,很大程度上起到了的负载均衡的作用, 这就是负载均衡在生活中的例子。

接下来我们来看看云计算中所说的负载均衡是什么。

阿里云负载均(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

可见云计算中的负载均衡除了通过流量分发让后端的服务器负载均衡,还有两个重要的用途,一就是消除单点故障,因为一般负载均衡后端挂载有多台ecs服务器,当某一台不工作时,系统的可用性不会受到影响;二是可以扩展应用系统的处理能力。

拿刚刚过去的双十一举例,大家都知道,2017年双11又创造了新纪录,全天交易额1682亿,交易峰值32.5万笔/秒,支付峰值25.6W笔/秒,如此海量的访问请求,是再强大的服务器也无法支撑的,因此需要n多台服务器一起来提供服务,而这些服务器的调度都需要依赖负载均衡SLB,负载均衡SLB接收到用户的请求,智能调度到后端的服务器进行处理,并将处理后的结果返回给用户,完成了单台服务器不可能完成的任务。

概念我们先说这么多,下面我们实际来看看如何最快速的搭建一个具有负载均衡功能的简单网站。

需要用到的云产品:云服务器ECS x 2、负载均衡SLB x 1

首先我们购买两台云服务器,这里我们选择华北2(北京)区域,购买两台按量付费的云服务器,云服务器的处理能力不重要,选择最低配够演示需求即可,购买参数如下:

下单购买成功后,在云服务器ECS的控制台中就可以看到购买好的服务器了

我们首先登录两台ECS进行简单配置,配置的主要目的就是给云服务器安装WebServer使其变成一台WEB服务器,步骤如下:

1、通过ssh登录到ecs云服务器,注意这里需要使用云服务器的公网ip:

在控制台中输入命令行:ssh root@xxx.xxx.xxx.xxx,回车后并输入在购买时设置的SSH远程管理密码即可登录。
第一次登录时会有个提示,选择yes即可
![image](https://yqfile.alicdn.com/31ac4daf2b55dbab3769fe657f87ba15f5a87f7d.png)复制代码

2、安装webserver,这里我使用的是Ubuntu Server的发行版,因此我们可以很方便的使用apt-get工具来完成webserver的安装,在控制台输入如下命令(注意,接下来的操作要确定是在ECS的shell中完成,而不是您本地的shell中):
a)、首先使用apt-get update命令更新一下软件源

apt-get update复制代码

b)、使用apt-get install apache2安装apache2服务器

apt-get install apache2复制代码

c)、使用如下命令简单的配置一下index.html主页

cd /var/www/html 
echo "Hello World ! This is ECS01." > index.html复制代码

同理我们对两台云服务器都做上述同样的配置操作,只是在最后一步配置index.html主页时,我们配置一个不同的主页面,便于演示:

cd /var/www/html 
echo "Hello World ! This is ECS02." > index.html复制代码

至此,云服务器ECS就准备好了,下面我们来购买一台负载均衡,同样我们要在华北2(北京)区域购买,负载均衡和后端服务器ECS必须保持在同一可用区。
购买参数如下设置

下单购买成功后,可以在负载均衡的控制台看到实例信息:

接下来,我们对SLB进行配置,配置有如下两个步骤:
1、创建监听:这个目的是未了让SLB在某个指定端口上监听客户请求,并且配置健康检查等相关参数设置
点击实例名称,进入到内层菜单,点击添加监听

在弹出对话框中前端协议选择HTTP,端口80,后端协议端口填80

然后不断点下一步,直至监听创建完成

创建好监听后,我们点击后端服务器菜单项,切换未添加的服务器tab页,勾选列表中的2台云服务器(就是之前在华北2区域购买的2台云服务器),然后点批量添加

在弹出对话框中,保持权重均为100,点击确认,这样就把后端服务器添加到SLB的后端了

至此,对负载均衡SLB的配置就完成了,我们来检验一下效果:
1、不经过负载均衡,直接访问ECS1服务器,在流量器输入地址http://47.95.157.85 可以发现当前是访问不到的,因为之前我们购买ECS时没有勾选开放80端口,因此通过公网进来的80端口请求ECS不会响应
2、不经过负载均衡,直接访问ECS2服务器,同样,由于上述原因,http://60.205.105.168 也无法正常访问
3、通过负载均衡访问,在流量器中输入负载均衡的公网IP地址http://47.95.171.116

第一次访问:

下二次访问:

不断刷新网页,可以看到一会页面返回的是“Hello World ! This is ECS01.”,一会返回的是“Hello World ! This is ECS02.”,这就说明负载均衡已经在正常工作了,来自用户的请求,被轮询的发往另外不同的ECS进行处理,并且返回了不同的结果。

至此,我们已经完成搭建了一套小型的具有负载均衡功能的网站系统,其实一点也不复杂,对吧。


相关文章:

  • Enum一点使用总结
  • 路由器相关参数及设置
  • 祝网友们龙年快乐!
  • CSS以图换字的9种方法
  • 部署Oracle 11.2.0.3 RAC (二)
  • [WinForm]DataGridView通过代码新增行问题
  • linux下配置SS5(SOCK5)代理服务
  • Spring.net 学习笔记之ASP.NET底层架构
  • stagefright框架 Video Playback的流程
  • EF架构~LinqToEntity里实现left join的一对一与一对多
  • Linux一般由四个主要部分组成
  • sshfs
  • Trie树(字典树)
  • MYSQL 的一些基本操作
  • Alpine上安装Docker引擎
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【Leetcode】104. 二叉树的最大深度
  • centos安装java运行环境jdk+tomcat
  • const let
  • docker容器内的网络抓包
  • extract-text-webpack-plugin用法
  • Javascript编码规范
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Redis 懒删除(lazy free)简史
  • Spark RDD学习: aggregate函数
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 百度地图API标注+时间轴组件
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端自动化解决方案
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 试着探索高并发下的系统架构面貌
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 数据可视化之下发图实践
  • 说说我为什么看好Spring Cloud Alibaba
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ###C语言程序设计-----C语言学习(3)#
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (12)目标检测_SSD基于pytorch搭建代码
  • (arch)linux 转换文件编码格式
  • (MATLAB)第五章-矩阵运算
  • (zhuan) 一些RL的文献(及笔记)
  • (初研) Sentence-embedding fine-tune notebook
  • (动态规划)5. 最长回文子串 java解决
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测