阿里云里面slb支持几层网络协议的负载均衡?

为什么需要负载均衡SLB?

随着业务发展,我们对外提供的服务可能性能不达标,一台服务器可能无法满足业务的需求,为了解决这个问题,我们可能增加服务器的配置,但是服务器的配置(CPU,内存,硬盘)有上限,这时候就需要用到多台服务器提供同一个访问服务,这就是集群技术

负载均衡SLB发展过程

  1. 随着业务发展,单一服务器设备无法承担,就需要使用负载均衡
  2. 负载均衡的功能可以由硬件设备来实现,但是价格昂贵,而且硬件也有性能瓶颈,当达到硬件的性能上限后需要购买更多设备,且硬件扩展性受到了限制,无法进行扩展和定制。
  3. 阿里云软件负载均衡是更好的选择方案

硬件设备来负载均衡的功能

Ali软件负载均衡SLB VS 传统硬件负载均衡器

SLB是将访问流量根据转发策略分发到后台多台云服务器(ECS实例)的流量分发控制服务,来实现多台服务器提供相同的业务服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。

  • 在传统IT中,做集群技术需要用集群软件把多台服务器连接起来,集群软件来判断每个服务器的状态,来把访问请求转发给服务器。但是呢,这个配置过程比较耗时复杂,还取决于负载均衡软件的可靠性可用性。
  • 阿里云为了减轻用户操作的复杂性,推出了SLB服务。SLB服务已经实现了负载均衡,用户只需要在SLB中添加后端服务器,这些后端服务器只能是阿里云同一地域下的ECS,利用这些ECS对外提供访问服务,这些ECS不要做任何其它配置。
  • 用户访问SLB,再由SLB把请求转交到后端ECS服务器,ECS服务器再把业务响应给用户
  • 通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能,高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例
  • 默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提供了应用的整理服务能力。此外,负载均衡还具备DDoS攻击的能力,增强了应用服务的防护能力

阿里云负载均衡SLB的优点

  • 同城容灾:同城容灾是指一个地域下不同的可用区,SLB是不能跨地域的,SLB可以提供可用区的高级可用,故障时自动切换
  • 流量分发:对多台云服务器自动进行流量分发,扩展系统服务能力
  • 简单易用:多种付费类型,计费模式与管理方式,可灵活轻松管理
  • 超强性能:推出性能保障型实例,并提供超高性能规格的实例

可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提高应用系统的可用性

负载均衡SLB应用场景

  • 高访问量的业务:配置监听规则将流量分发到不同的ECS实例上
  • 扩展应用程序:随时添加和移除ECS实例来扩展应用系统的服务能力
  • 消除单点故障:负载均衡会自动屏蔽故障的ECS实例,将请求分发给正常运行的ECS实例
  • 同城容灾:阿里云负载均衡已在各地域部署了多可用区实现同地域不同可用区的容灾

负载均衡SLB应用场景

负载均衡的应用场景为高访问量的业务,提供应用程序的可用性和可靠性

  • 高访问量的业务:如果应用的访问量很高,可以通过配置监听规则将流量分发到不同的ECS实例上
  • 扩展应用程序:可以根据业务发展的需要,随时添加和移除ECS实例来扩展应用系统的服务能力
  • 消除单点故障:可以在负载均衡实例下添加多台ECS实例。当其中一部分ECS实例发生故障后,将请求分发给正常运行的ECS实例
  • 同城容灾(多可用区容灾):使用负载均衡,可以将负载均衡实例部署在支持多可用区的地域以实现同城容灾
  • 跨地域容灾:SLB自身不可以实现跨地域容灾。可以在不同地域下部署负载均衡实例,并分别挂载相应地域内不同可用区的ECS,上层利用云解析做智能DNS

阿里云负载均衡SLB组成

  • 负载均衡实例Server Loader Balancer instances:一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。
  • 监听器Listeners:监听器用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查
  • 后端服务器Backend Servers:一组接收前端请求的ECS实例,ECS实例是真正提供服务访问的,后端服务器的数据要一致,对后端服务器的操作系统等配置没有要求,只要求它们的数据是一致的

负载均衡中的概念/术语

负载均衡服务Server Load Balancer:阿里云计算提供的一种网络负载均衡服务,可以结合阿里云提供的ECS服务为用户提供基于ECS实例的TCP、UDP与HTTP负载均衡服务

地域Region:代表资源所在并有效的地域,每个地域包含一组数据中心

可用区Zone:代表负载均衡所在的Zone

负载均衡实例Load Balancer:负载均衡实例可以理解为负载均衡服务的一个运行实例,用来接收流量并将其分配给后端服务器。用户要使用负载均衡服务,就必须先创建一个负载均衡实例,LoadBalancer是识别用户负载均衡实例的唯一标识。.

负载均衡服务监听Listener:负载均衡服务监听,包括监听端口,负载均衡策略和健康检查配置等

后端服务器BackendServer:接受负载均衡分发请求的一组云服务器,负载均衡服务将外部的访问请求按照用户设定的规则转发到这一组后端服务器上进行处理

服务地址Address:系统分配的服务地址,当前为IP地址。用户可以选择该服务地址是否对外公开,来分别创建公网和私网类型的负载均衡

  • 高可用:采用全冗余设计,无单点,支持同城容灾,搭配DNS可以实现跨地域容灾。SLB仅仅支持同一个地域的SLB,如果要实现不同地域的容灾,需要在两地搭建两套SLB,再借助DNS实现这两套SLB的轮询访问
  • 可扩展:可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力
  • 低成本:与传统硬件负载均衡系统高投入相比,成本可下降60%
  • 安全:结合云盾,可提供5Gbps的防DDoS攻击能力
  • 高并发:集群支持亿级并发连接,单实例提供千万级并发能力

负载均衡基础架构是采用集群部署,提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。

  • 传输层:传输层用端口号区分不同连接,比如 连网站http:默认用TCP80端口;连网站https:443端口;ssh:22端口

阿里云当前提供四层和七层的负载均衡服务。

  • 如果是访问网站,选七层,http和https都支持,配置简单
  • 如果需要自定义端口,建议用四层,四层麻烦一些;七层只能选HTTP或HTTPS协议
  1. 轮询模式:会将外部和内部的访问请求依序分发给后端ECS进行处理
  2. 加权轮询模式:会将外部和内部的访问请求依序分发给后端ECS进行处理,权重越高,被分配的几率越达
  3. 最小连接数:访问请求分发给当前连接数最小的一台后端ECS进行处理

会话保持及权重设置的工作原理

会话保持:开启会话保持后,负载均衡会把来自同一个客户端的请求分配到同一台后端服务器上,提高访问效率

  • 四层TCP:同一IP地址的请求持续发往同一台后端服务器
  • 七层HTTP:相同cookie的请求发往同一台后端服务器

权重设置:访问请求按权重大小依次分发

负载均衡如何和云产品结合

云解析企业版(智能DNS):提供丰富的智能解析策略,合理调度来自不同线路用户的入站访问量,后续还支持根据地域调度访问流量和健康检查,实现跨地域负载均衡或全局负载均衡

云服务器ECS:挂载同地域Region的ECS,可实现流量分发和消除单点故障

云盾:结合云盾实现DDoS防护,包括清洗和黑洞

弹性伸缩服务:结合弹性伸缩服务可以做到弹性扩容

对象存储OSS,数据库RDS:用户通过ECS上的应用,可访问OSS,RDS,Memcache等应用。用户也可以直接在ECS上部署DB等应用,通过SLB做负载均衡。

创建负载均衡实例后,需要为实例配置监听。负载均衡实例监听负责检查连接请求,然后根据调度算法定义的转发策略将请求分发至后端服务器。负载均衡提供四层(TCP/UDP协议)和七层(HTTP/HTTPS协议)监听,可根据应用场景选择监听协议:

  1. TCP:先和对方建立连接,三次握手,再发送数据
  2. UDP:直接发送数据给对方;适合关注实时性而相对不注重可靠性
  3. HTTPS:加密传输数据;适合银行等加密传输的应用

HTTPS是加密数据传输协议,安全性高。负载均衡支持将HTTP访问重定向至HTTPS,方便进行全站HTTPS部署。负载均衡已经在全部地域开放了HTTPS重定向功能。

负载均衡是可以设置会话保持功能的。如果开启会话保持,在超时时间范围内,会将同一请求转发给后端同一台服务器;如果过了超时时间,就会重新选择后端服务器。如果负载均衡本身请求流量较小,就会显得分发不那么均衡。所以如果是要做压力测试,建议先关闭会话保持测试。压力测试可以测试负载均衡的性能如何。

  • 四层会话保持:四层TCP方式的负载均衡是基于客户IP进行会话保持的,它会把同一IP地址的请求持续发往一台服务器
  • 七层会话保持:七层HTTP负载方式进行会话保持是基于cookie的。可以分为植入cookie和重写cookie。

4.SLB的后端服务器

在使用负载均衡服务前,需要添加ECS实例作为负载均衡实例的后端服务器,用来接收负载均衡监听转发的请求。负载均衡服务通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能,高可用的应用服务池。也可以通过虚拟服务器组管理后端服务器。

可以在任意时刻增加或减少负载均衡实例的后端ECS数量,确保开启了负载均衡的健康检查功能并同时保证负载均衡实例中至少有一台正常运行的ECS。添加后端服务器时,要注意

  • SLB与ECS同地域:负载均衡不支持跨地域部署,确保ECS实例的所属地域和负载均衡实例的所属地域相同。
  • ECS操作系统:负载均衡本身不会限制后端ECS实例使用哪种操作系统
  • 50个应用:一个负载均衡实例最多支持添加50个监听,每个监听对应后端ECS实例上的一个应用
  • 指定ECS的权重:可以指定都断服务器池内各个ECS实例的转发权重,权重越高的ECS实例将被分配到更多的访问请求
  • 如果同时开启了会话保持功能,那么有可能会造成后端服务器的访问并不完全相同的。当负载均衡服务分发请求不均匀时,可以参考以下方法进行检查处理:
    • 统计一个时间段内,后端ECS实例的Web服务访问日志记录数据量
    • 按照负载均衡的配置,对比多台ECS实例日志的数量是否有相差。开启会话保持后,需要剥离相同IP的访问日志。如果负载均衡配置了权重,需要根据权重比例计算日志中访问比例是否正常。
  • ECS进行热迁移时,可能导致SLB长连接断开。重新连接后即可恢复,请做好应用的重连工作。
  • 默认服务器组:用来接收前端请求的ECS实例。如果监听没有设置虚拟服务器组或主备服务器组,默认将请求转发至默认服务器组中的ECS。
  • 主备服务器组:一个主备服务器组只包括两台ECS实例,一台作为主服务器,一台作为备服务器。由于备服务器不会做健康检查,所以只要主服务器健康检查失败,系统会直接将流量切到备服务器。当主服务器健康检查成功恢复服务后,流量会自动切到主服务器。备机一直不工作,除非主机坏了,备机才工作
  • 虚拟服务器组:当需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择虚拟服务器组。

负载均衡通过健康检查来判断后端服务器(ECS实例)的业务可用性。健康检查机制提高了前端业务整体可用性,避免了后端ECS异常对总体服务的影响。

开启健康检查功能后,当后端某台ECS健康检查出现异常时,负载均衡会自动将新的请求分发到其它健康检查正常的ECS上;而当该ECS恢复正常运行时,负载均衡会将其自动恢复到负载均衡服务中。

SLB四层和七层健康检查机制如下:

负载均衡提供监听级别的访问控制。可以针对不同的监听设置访问白名单和黑名单。

  • 白名单:仅转发来自所选访问控制策略组中设置的IP地址或地址的的请求。适用于应用只允许特定IP访问的场景
  • 黑名单:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发。黑名单适用于应用只限制某些特定IP访问的场景。

SLB的配置流程如下:

  • 域名解析(可选):如果公司有域名,可以把公司域名绑定到SLB的公网IP,这样访问公司域名就可以访问到SLB。绑定的方式就是在DNS改一下解析的位置

如何选购负载均衡SLB(SLB使用注意事项)

  • 地域:离客户近,提供主备可用区,和ECS同地域
  • 网络类型:公网还是私网负载均衡,公网收费(按流量计费,按峰值计费),私网免费
  • 付费模式:流量计费(按量付费)或者带宽计费(按峰值计费,包年包月)
  • 协议类型:并发连接数:选四层???每秒连接次数:选七层???
  • SLB的地域不能更改,并且不能跨地域
  • 离客户近:为了减少延迟并提供下载速度,建议选择离客户最近的地域
  • 提供主备可用区(多可用区)的地域:为了提供更加稳定可靠的服务,建议选择提供主备可用区的地域
  • 同后端ECS实例相同地域:由于负载均衡不支持跨地域部署,因此应选择与后端ECS实例相同的地域

选择实例的网络类型(公网或私网)

  • 公网请求用公网:如果需要使用负载均衡分发来自公网的请求,选择创建公网负载均衡实例,公网会有费用
  • 私网请求用私网:如果需要使用负载均衡分发来自内网的请求,选择创建私网负载均衡实例

选择协议类型:不懂!!!

  • 四层监听将请求直接转发给后端服务器,不会修改标头,用端口号区分
  • 七层监听原理上是反向代理的一种实现,用协议区分
  • ECS和SBL同地域:负载均衡不支持跨地域部署,确保ECS实例的所属地域和负载均衡实例的所属地域相同
  • 多个ECS提供的服务相同并且数据一致:负载均衡本身不会限制后端ECS实例使用哪种操作系统,只要ECS实例中的应用服务部署是相同的且保证数据的一致性即可

在始搭建SLB服务之前,需要确定负载均衡实例的地域,网络类型,付费模式等配置。

配置负载均衡SLB的监听

在开通页面上根据实际需求配置实例类型,带宽峰值,地域,购买数量,点击“立即购买”,完成负载均衡开通。负载均衡提供四层(TCP/UDP协议)和七层(HTTP/HTTPS)监听,用户可根据应用场景选择监听协议。

在使用负载均衡服务器前,用户需要添加ECS实例作为负载均衡实例的后端服务器,用来接收负载均衡监听转发的请求。至少两台ECS,ECS就没有负载均衡的意义了。

SLB的监控指标包括:流入流量,流出流量,流入数据包数,流出数据包数,新建连接数,活跃连接数,非活跃连接数

6.SLB的计费和使用限制

SLB提供两种计费模式:按量付费和预付费。

  • 按量付费:适合波峰波谷的应用
  • 预付费:就是按照带宽计费,包年包月的方式

SLB的计费项包括实例费,流量费,带宽费,规格费。注意无论是公网还是私网,公网中无论是按流量还是按带宽,性能保障型都会收取规格费。私网只收取规格费。

负载均衡SLB相关问题

  1. 为什么请求不均衡?  答:1.访问量太少 2.不同ECS服务器的性能不同 都会导致请求不均衡
  2. 负载均衡是否可以自定义端口?答:端口可以自定义1~65535
  3. 负载均衡服务本身解决了后端ECS服务的灾备问题,单如何避免负载均衡服务本身故障导致的单点问题?关于负载均衡的灾备,有什么好的建议?答:在同一地域,可以购买多个负载均衡实例,通过DNS轮询的方式提高SLB可用性。两个地域都购买SLB,然后在两个地域的SLB做DNS轮询。

负载均衡SLB相关限制

SLB相关限制包括:SBL实例限制,证书限制,访问控制策略组限制和带宽限制

调度算法:负载均衡支持轮询,加权轮询(WRR),加权最小连接数(WCL)和一致性哈希(CH)调度算法

  • 加权就是比例,ECS性能和处理能力不同,所占加权比重就不同
  • 一致性哈希:同一个主机发送的请求就转发给同一个ECS后端服务器,减少浪费

健康检查:负载均衡会检查后端服务器的运行状况。当探测到后端服务器运行状况不佳时,会停止向其发送流量,然后将流量转发给其它正常运行的后端服务

会话保持:负载均衡提供会话保持功能。在会话的生命周期内,可以将同一客户端的请求转发到同一台后端服务器上

访问控制:负载均衡支持添加黑名单和白名单,灵活控制客户端访问

高可用:负载均衡可以将流量转发给多个可用区的后端服务器。并且,负载均衡已经在大部分地域支持了多可用区部署,当主可用区出现故障时,负载均衡可自动切换到备可用区上提供服务

安全防护:结合云盾,可提供5Gbps的防DDoS攻击能力

  1. 理解负载均衡SLB的概念
  1. 了解负载均衡服务的产生,发展,技术原理
  2. 掌握阿里云SLB的功能,组成,使用场景
  1. 负载均衡SLB的特定,应用场景
  2. 快速部署一个负载均衡实例
  3. 配置负载均衡SLB的流程
  4. 为SLB添加后端服务器
  1. 使用SLB负载均衡服务必须配合阿里云中的哪个产品?ECS
  2. SLB由哪几个基本概念组成?负载均衡实例,监听,后端服务器
  3. SLB服务可以跨地域吗?不能,跨地域需要借助DNS
}

问:阿里云SLB负载均衡提供对多台云服务器提供流量转发服务,SLB支持基于四层和七层的流量转发,四层和七层的流量的转发分别是通过什么实现的?

答:负载均衡采用集群部署,LVS集群(四层)或Tengine集群(七层)内的相关节点服务器同时承载了数据转发和健康检查职责。
四层(TCP和UDP)是基于连接做流量调度。TCP和UDP创建一个socket访问负载均衡实例,这个源和目的IP和端口就是一个连接。
七层(HTTP/HTTPS)是基于请求做调度。比如http get请求访问一个页面。

输入用户名或电子邮箱地址,您会收到一封新密码链接的电子邮件。

}

开个玩笑,B站就是Nginx挂了[奸笑]







都行 nginx的话 需要自己购买大额的宽带 非常昂贵 就看你的业务 如果只是偶尔高访问量 不是持续的话 就slb吧




肯定是阿里云slb,slb提供了标准的api接口可以通过api方便快速得完善相关服务配置,很多觉得自己用nginx可以做负载均衡,但实际结果呢?不仅增加了运维成本,在稳定性和安全性上根本没有保证,可以说出力不讨好。当然很多企业是基于自身成本考虑,阿里云slb相对自建nginx来说,成本确实高出很多,而且限制也很多,比如在某一端口下限制代理数量等等。总之公司有钱不差钱百分百上slb,稳定安全,减少运维成本。基于成本考虑自建nginx,需要自己做好各种监控运维策论,付出更多的运维成本,稳定性相对来说没有slb稳定




slb费钱,没有固定的。nginx负载均衡费用可以固定下来。




很多觉得自己用nginx可以做负载均衡,有没必要购买阿里云负载均衡SLB呢?购买阿里云负载均衡SLB和自己用nginx做负载均衡有何区别与优势呢? 其实自己用nginx做负载均衡就是吃力不讨好,运维成本高,而且很不稳定,相对于直接购买阿里云负载均衡SLB稳定搞、容灾高、多种协议支持、并且运维成本低。




其实nginx现实中大部分都是用来做反向代理了。负载均衡的话有条件还是slb吧,网络层的快一些

}

我要回帖

更多关于 弹性负载均衡系统支持哪几种协议 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信