• Azure的负载均衡机制


    负载均衡一直是一个比较重要的议题,几乎所有的Azure案例或者场景都不可避免,鉴于经常有客户会问,所以笔者觉得有必要总结一下。

    Azure提供的负载均衡机制,按照功能,可以分为三种:Azure Load Balancer    Application Gateway     Traffic Manager

    首先,我们来介绍第一个Azure Load Balancer  简称为 LB

    该负载均衡机制其实是基于OSI 4 层参考模型来实现的,工作在传输层,在ASM里,LB是隐藏在云服务后面的,而在ARM里面,LB是一个单独的服务,但仍是免费的

    LB有如下几个特点

    1.工作在OSI参考模型的4层即应用层

    2.可以支持任何协议,但是在Azure中主要针对基于TCP/UDP协议

    3.服务端点(Endpoint)为Azure虚拟机或者Cloud Service Role

    4.同时支持公网负载均衡和内网(Vnet)负载均衡

    5.通过Probe监控加入LB的Endpoint

    6.支持固定的IP地址

    7.负载均衡的默认模式是基于5元组的(源IP ,目的IP ,源端口,目的端口,protocol)

    8.会话保持的方式:可以改为2元组(源IP,目的IP),也可以改为3元组(源IP,目的IP,protocol)

    9.健康检测的机制,默认侦测间隔15s,最短为5s,连续两次健康检测失败,则把该节点从负载均衡器中移除,同时也支持用户自定义的侦测

    10.不支持SSL offloading

    接下来,来介绍 ApplicationGateway

    从上面的总结我们可以看出Azure的LB是基于传输层的,但是针对应用层的负载均衡而言,LB很显然就显得无能为力了,所以我们需要更高级的负载均衡机制,我们来看下面两个图

                                                                           图一

                                                                 图二

    以上的两个示例都是Azure LB无法满足的,但是Application Gateway可以做到,它类似于反向代理服务,把客户端的请求发送到后端的服务器

    该负载均衡有如下几个特点

    1.ApplicationGateway是七层的负载均衡,工作在应用层

    2.支持的协议为HTTP/HTTPS

    3.服务的端点Endpoint为任意的公网IP地址或者内网IP地址

    4.同时支持公网负载均衡和内网(Vnet)负载均衡

    5.通过Probe监控Endpoint

    6.不支持固定的IP地址

    7.负载均衡模式为轮询(round robin)以及URL路由

    8.健康检测间隔为30s,连续5次健康检测失败,则把节点从Application Gateway中移除,支持用户自定义的侦测

    9.基于cookie的会话保持,URL路由

    10.支持SSL offloading

    现在看以看出来,ApplicationGateway有如下几个重要的作用

    1.提供Web ApplicationGateway Firewall(预览)(WAF),可以保护Web应用程序免受常见的Web攻击,比如SQL注入,跨站点脚本攻击和会话劫持

    2.提供7层负载均衡,例如HTTP负载均衡

    3.通过使用cookie的会话保持功能可以使用户的会话保持在同一个Azure后端服务器

    4.关于SSL offload功能,很多人不是很理解,其实是这样的,当我们不使用SSL offload功能时,SSL加密与解密应用会消耗大量的服务器资源,这就是为什么从HTTP到HTTPS部署后,服务器的性能和处理能力大幅下降的原因,如果我们使用了SSL Offload,Internet用户访问ApplicationGateway的流量是HTTPS加密的,但是ApplicationGateway访问后端的web server是通过HTTP方式,这样就有如下的几个优点

    (1)降低服务器的负载,因为我刚刚说了SSL处理非常消耗服务器的性能

    (2)提升SSL处理能力

    (3)降低管理员操作复杂性,无需管理和配置多个服务器的证书,只要在前端的ApplicationGateway上实现即可

    (4)提升应用安全性,将加密的HTTPS解密为明文的HTTP后,可根据请求/响应内容等设置多种策略

    (5)ApplicationGateway支持端到端的SSL加密

    (6)可以实现基于URL的路由(如图一),可以实现多站点路由(如图二)

    (7)支持websocket,健康侦测,支持高级诊断功能

    就目前而言,ApplicationGateway提供了三种实例大小,small medium large,其中small只适合开发测试环境

    并且提供了两种服务类型,WAF(web application firewall)和Standard,一个订阅最多创建50个ApplicationGateway,每个ApplicationGateway最多有10个实例,每个ApplicationGateway可以有20个HTTP侦听器(listener)

    其它关于ApplicationGateway的限制条件请参考官网地址

    Application Gateway参考性能表

    接下来介绍Traffic Manager 它的功能类似于smart dns

    该负载均衡有如下的几个特点

    1.该负载均衡是针对DNS的负载均衡

    2.支持任何协议,需要HTTP Endpoint进行监控

    3.服务端点Endpoint可以为,Azure虚拟机,cloud service 以及Azure web app或者其它外部Endpoint

    4.只支持公网负载均衡

    5.通过HTTP/HTTPS Get监控Endpoint

  • 相关阅读:
    类class解读
    函数重载
    for循环之省略{}
    《c++程序设计现代方法》笔记2
    【程序】c++雇员工资管理系统
    贪婪法
    乘法口诀程序
    百钱买百鸡问题程序
    【转】牛人十个月自学C++ 现在做C#开发工作
    c++基本规则习惯
  • 原文地址:https://www.cnblogs.com/chenjie520/p/6249373.html
Copyright © 2020-2023  润新知