Azure Application Gateway(一)对后端 Web App 进行负载均衡
一,引言
今天,我们学习一个新的知识点-----Azure Application Gateway,通过Azure 应用程序网关为我么后端的服务提供负载均衡的功能。我们再文章头中大概先了解一下什么是应用程序网关。
Azure Application Gateway 是一种应用程序层(OSI 层 7)负载均衡,Azure 应用程序网关可以执行基于 URL 的路由。而上一篇介绍的 Azure Load Balancer 则是传输层(OSI 层 4 - TCP 和 UDP)进行操作,并基于源 IP 地址和端口将流量路由到目标 IP 地址和端口。简单来讲,四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡。通过微软官方提供的文档,我们可以看到 Applcation Gateway 做了如下优化。
1,SSL/TLS终结
2,SKU为 “Standard” 或者 “WAF_v2” 的应用程序网关或者WAF 部署支持自动缩放,可根据变化的流量负载模式进行扩展或缩减。 自动缩放还无需在预配期间要求选择部署大小或实例计数。
3,区域冗余
4,WAF防火墙
5,AKS的入口控制器,应用程序网关入口控制器 (AGIC) 允许你使用应用程序网关作为 Azure Kubernetes 服务 (AKS) 群集的入口。
6,基于URL的路由
7,支持Websocker
........ 等等
接下来,我们依旧看看当前设计的基础设施架构图,我们今天只去了解它的 HTTP 7层的负载均衡
--------------------我是分割线--------------------
--------------------我是分割线--------------------
二,正文
Azure Portal 首页,点击 “Create a resource” 创建资源
搜素框输入 “Application Gateway”,进行搜索,点击 “Create”,进行创建资源
Resource group 选择创一个新的 “Web_Test_AG_RG”
Application gateway name:“cnbateweb_applicationgateway”
Region:“East Asia”
Tier:“Standard”
其他都是默认选项
Virtual network 选择创建一个新的网络
Name:“cnbateblogweb_NET”
Subnet name:“cnbateblogweb_SubNET”
Address range:“10.0.1.0/24”
点击 “OK”
点击 “Next:Frontends”,设置应用程序网关的 前端
Frontend IP address type:Public
Public IP address:我们选择创建一个新的公共的 Public IP
我们点击 “Next:Backends”
点击 “Add a Backend pool” 需要添加后端池
我们可以看到应用程序网关的后端池的目标类型,也就是Target type 我们选择 “App Service”
Name:“cbbateblogweb_applicationgateway_backendpool”
Add backend pool with targets 选择:“No”
Target 选择之前再介绍 Web App 是创建的 “cnbateblogweb01” 和 “cnbateblogweb02”
我们可以刚刚添加的两个应用程序后端池目标,点击 “Add”
点击 “Next:Configuration>” 进行下一步配置路由信息
点击 “Add a routing rule”,添加路由信息
Rule name:“cnbateblogweb_applicationgateway_rule”
Listener name:‘cnbateblogweb_httplisten"
Frontend IP 选择之前创建好的 Frontends 的 Public IP
其他的选择默认
点击 “Backend target”的 Tab 页
Target type 选择 “Backend pool”
Backend target 选择 创建好的后端池 “cbbateblogweb_applicationgateway_backendpool”
HTTP setting 点击 “Add new” 创建一个新的 HTTP Setting
Http setting name:“cnbateblogweb_applicationgateway_httpsetting”
Backend protocol 选择:HTTP
Backend port :"80"
Host name 配置信息
Overrider with new host name (覆盖为新的主机名) 选择:“Yes”
Host name override (覆盖主机名)选择:“Pick host name from backend target(从后端池选取主机名)”
其他选择默认,点击 ”Add“,添加 HTTP setting,点击 ”Add“ 添加 一条路由规则
我们可以看到 “Frontends” 的信息,”Routing rules“ 信息,”Backend pools“ 信息
点击 “Next:Tags”
点击”Next:Review + create“
等待预校验完成后,我们点击”Create“ 进行创建
等待创建完成后,我们跳转到创建好的 Azure Application Gateway 中看看
我们找到 健康检查,我们重新设置一下默认的参数,选择 “Settings=>Health probes” ,点击当前圈中的默认的健康的配置
我们可以看到默认的一些配置,比如 超时时间,不健康的阈值次数,间隔时间等等信息
接下来,我们进行修改一下(此步骤大家在实践的过程中可以忽略,改不改都不会影响到当前应用程序网关的正常使用)
Interval(间隔时间) 从30 秒 我们改为 2 秒
Timeout(超时时间)从30 秒 我们改为 5 秒
Unhealthy threashod(不正常阈值) 从 3 次 我们改为1次
点击 “Save”,进行保存操作
接下来,我们就可以进行测试,看看我们的应用程序网关是否可以为我们的后端web App 提供负载均衡的功能
负责下图中权重的前端Public IP 的地址到浏览器中
ok,bingo!!!!!成功。再次撒花!!!!
--------------------我是分割线--------------------
这个有个小建议就是,在创建应用程序网关的时候添加后端池配置信息时,我们可以先添加一个空的后端池,当应用程序网关创建好的之后,我们在在后端池配置中添加我们以后的后端池信息。
--------------------我是分割线--------------------
三,结尾
今天我们简单演示了一下使用 Azure Application Gateway 为我们的后端 Web App 提供负载均衡,转发流量,以及充当防火墙的功能。当前这些都是应用程序网关的自带的强大功能,下一篇,我们将架构图中的 Web App 替换成 VM ,通过创建Application Gateway,添加后端池,包含两台 vm,对后端 vm上挂在的项目网站进行负载均衡
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
Azure Application Gateway(一)对后端 Web App 进行负载均衡的更多相关文章
- Azure Application Gateway(二)对后端 VM 进行负载均衡
一,引言 上一节有讲到使用 Azure Application Gateway 为我们后端类型为 Web App 的 Demo 项目提供负载均衡,Azure Application Gateway 的 ...
- QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
前言 在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展 ...
- Azure Application Gateway (1) 入门
<Windows Azure Platform 系列文章目录> 请读者注意,Azure Application Gateway在ASM模式下,只能通过PowerShell创建 具体可以参考 ...
- Azure Application Gateway (3) 设置URL路由
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者介绍了Azure Web App可以设置URL路由.如下图: 在这里笔者简单介绍一下,首先我们还是创建以 ...
- Azure Application Gateway (5) Application Gateway SSL Offload配置
<Windows Azure Platform 系列文章目录> 之前有个客户提出了一个需求,他们的互联网访问的架构分为两种: 1.第一层是使用Azure Application Gatew ...
- Azure Application Gateway (4) 设置URL路由 - PowerShell
<Windows Azure Platform 系列文章目录> 本文将介绍如果使用Azure PowerShell,创建Azure Application Gateway URL Rout ...
- Azure Load Balancer(一) 为我们的Web项目提供负载均衡
一,引言 上节,我们讲到使用 Azure Traffic Manager 为我们的 Demo 项目提供负载均衡,以及流量转发的功能.但是Azure 提供类似的功能的服务远远不止这一个,今天我们就来讲一 ...
- Azure 提供负载均衡(一)Azure Traffic Manager 为我们的Web项目提供负载均衡
一,引言 上一篇讲到我们将自己的Net Core Web 项目部署到 Azure 的 Web App 的一项 pass 服务,假如随着项目的日益增长的访问量,之前部署到单节点的应用可能无法保证其稳定性 ...
- Azure Traffic Manager(二) 基于权重与基于优先级的路由策略为我们的Web项目提供负载均衡
一,引言 上一片文章我们使用 Azure Traffic Manager 分发用户请求,同时演示了两种路由策略,“Performance”,“Geographic”的两种方式,今天我们继续讲解 Tra ...
随机推荐
- Flex移动布局中单行和双行布局的区别以及使用
这里是单行布局 使用ul>li 来布局 <ul class="local-nav"> <li> <a ...
- 深度学习论文翻译解析(十):Visualizing and Understanding Convolutional Networks
论文标题:Visualizing and Understanding Convolutional Networks 标题翻译:可视化和理解卷积网络 论文作者:Matthew D. Zeiler Ro ...
- 集成Facebook SDK之Facebook登录
前言 这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下! 准备工作 保证自己的网络已经翻墙,能够进入Facebook网页 准备一个FB的开发者账号,如果没有可以免费申 ...
- Python 脚本语言
python 脚本语言(python的命名起源于一个脚本screenplay,每次运行都会使对话框逐字重复.由著名的“龟叔”Guido van Rossum在1989年圣诞节期间编写.) Python ...
- 《闲扯Redis六》Redis五种数据类型之Hash型
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
- React Native 控制一个component的显示隐藏
// 首先在constructor里: this.state = { visible: false } // 然后在点击事件设置: this.setState({ visible: t ...
- front-end——HTML5/CSS3基础
概述 1.什么是前端 前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页,随着互联网技术的发展,html5,css3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完 ...
- Java-旋转字符串
描述 旋转字符串 给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转). 挑战 在数组上原地旋转,使用O(1)的额外空间 说明 原地旋转意味着你要在s本身进行修 ...
- 事件流和初识Jquery
一.事件流 定义: 多个彼此嵌套元素,他们拥有相同的事件,最内部元素事件被触发后,外边多个元素的同类型事件也会被触发,多个元素他们同类型事件同时执行的效果称为“事件流”. 事件对象获取: 获得: ①主 ...
- 关于if后有无else谜题
在自定义函数中 for(i=1;i<=6;i++) { if(a%i==0) return 0; else return 1; } 意思是,如果有一个除不尽就返回零,有一个除尽会立刻返回一. 如 ...