浅谈公有云7层、4层负载产品,配置,原理

今天给大家简单介绍一下基础知识公有云7层和4层的区别和负载均衡的意义。

7层和4层是指不同的网络模型,网络传输协议的划分方式不同,具体的划分和内容这里不做过多讲述。

浅谈公有云7层、4层负载产品,配置,原理_第1张图片

负载均衡有两个方面的意义:

第一, 大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间
第二,单个重负载的运单分担到堕胎节点设备上并行处理,每个节点设备处理结束后汇总返回,提高系统的处理能力

这两点都使得我们产品在用户使用和体验上有着巨大的良性作用。

浅谈公有云7层、4层负载产品,配置,原理_第2张图片

下面开始我们的正题:

所谓的四层负载均衡原理是基于IP+端口,通过虚拟的IP+端口的请求,然后再分配到真实的服务器。过程中会对VIP判断决定对哪些流量进行NAT处理,并转发至后台服务器,并记录下这个TCP/UDP的流量是由那台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器

浅谈公有云7层、4层负载产品,配置,原理_第3张图片

七层则是基于URL等应用层的负载,通过虚拟的URL或主机,然后再分配到真实的服务器。过程中不仅有四层的功效,还能去考虑到应用层的特征,分析应用层的信息,如七层的URL,浏览器特征,语言来决定流量的转发和处理。这也称为“内容交换”,主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

了解了原理之后,那我们再来看看现今公有云的负载均衡的产品,Azure ALB,AWS的ELB(下分为ALB和NLB),阿里云的SLB等。这里我侧重讲述一下阿里云的SLB。
浅谈公有云7层、4层负载产品,配置,原理_第4张图片

官方的介绍是SLB提供对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

那么他们是如何做到的呢?阿里云的负载均衡是通过设置虚拟的服务地址段,将添加的同一地域的ECS实例虚拟成一个高性能,高可用的后端服务池,并根据自定义的转发规则,将来自客户端的请求分发给后端服务器中的ECS实例。除此之外额外的默认提供检查服务器池中的ECS实例健康状态,自动隔离异常的ECS,消除ECS实例单点故障来提高整体的服务能力。我们可以得出LB的应用场景相对稳定,应用高访问量的业务,适合扩展应用程序,适合消除单点故障,适合同城容灾和跨地域容灾。

文章稍微有提到负载均衡分为四层和七层,那么在当前阿里云中四层采用的开源软件linux virtual server 和 keepalived的方式实现负载均衡。而七层则是采用Tengine,其在nginx的基础上添加了很多高级功能和特性,尤其是针对大访问量的网站效果极佳。

浅谈公有云7层、4层负载产品,配置,原理_第5张图片

在使用配置方面,在SLB控制台可以创建load balance来选择至少一个监听和两台ECS实例等多个目标对象来达到效果。除此本身的功能之外,阿里云提供可以在SLB控制台选择“访问控制”,来创建访问控制的策略组来设置针对IP地址/地址段的黑白名单。同时也提供日志管理,普通的操作日志会根据事件类型(写类型,读类型)进行划分,而访问日志则需要在此基础上开通SLS日志服务,然后日志阅读和本地存储是有一定的时间和空间,如果需要额外的空间则需要开通OSS存储服务来独立存储这方面的日志。

你可能感兴趣的:(架构,阿里云,负载均衡)