全局负载均衡技术如何将用户的访问指向离用户最近的工作正常的流媒体服务器上

简介: 全局负载均衡技术如何将用户的访问指向离用户最近的工作正常的流媒体服务器上;出处:https://segmentfault.com/q/1010000004556003?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly原题为:负载均衡 是如何如何分发 请求到用户最近的服务器的?首先我们要明确几件事:1、在CDN的案例图中,其实B和C不会在不同的城域。

全局负载均衡技术如何将用户的访问指向离用户最近的工作正常的流媒体服务器上;

出处:https://segmentfault.com/q/1010000004556003?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly

原题为:负载均衡 是如何如何分发 请求到用户最近的服务器的?


首先我们要明确几件事:
1、在CDN的案例图中,其实B和C不会在不同的城域。如果在不同的城市,一般会在那个地域也放置一个反向代理服务器或反向代理节点。B和C为同一地域,A为B、C的负载均稀器或调度器;
2、CDN的部署里,为避免单点故障或应对业务峰值,A并不是单台服务器,一般由多台服务器进行调度,一般采用LVS进行七层的负载和转发。通过LVS的负载均衡策略将业务转发至B和C,负载均衡策略可以进行设置,如轮询,权重轮询、随机等等;
3、CDN一般由DNS来做为用户流量调度,也是CDN的核心,即将用户的请求调度至距用户最近的节点,例如节点D,节点D通过负载均衡策略将请求分发至节点D后端的业务服务器E和F。
4、你看到的这句话,是指DNS层面的调度。

流媒体业务使用CDN的发布业务的前提和流程如下:
1、在流媒体业务服务器域名注册商修改域名的CNAME记录为CDN服务厂商的域名;(这一步是使用CDN的首要条件)
2、CDN服务厂商为业务设置不同地域的缓存节点,如北京、上海、美国等
3、不同地域设置的缓存节点具有不同的IP地址地址池,并且该节点内拥有业务调度器(LVS的DR)及真正的业务缓存服务器,缓存服务器通过类似Squid等程序定期缓存流媒体业务服务器的视频信息及网页信息,每隔一段时间进行更新请求;
4、用户通过DNS调度请求到某一节点时,该节点通过LVS技术将用户的请求调度至节点内某一以缓存节点进行处理,并返回结果给用户;(可参照LVS的工作模式)
5、当缓存节点有用户请求的内容时,将直接返回内容给用户,当缓存节点发现请求的内容不存在时,会主动返回流媒体业务的源服务器进行内容请求,并将结果缓存至缓存节点。
6、用户最终拿到缓存节点上的视频内容及信息,由于通过DNS调度至用户最近的节点,通过LVS调度至最快最优的服务器进行处理,故加快了用户访问网站及视频的速度。(视频的加速其实还有一种技术叫cache技术,即将视频提前下载到距用户最近的节点,用户看起来等于在局域网中查看)

DNS和CDN调度的流程如下:
1、用户访问流媒体业务的域名如“www.abc.com";
2、www.abc.com的cname记录为CDN服务厂商的域名,如www.abc.com.cdncache01.com;
3、用户的请求被转发至www.abc.com.cdncache01.com进行处理,即触发用户对www.abc.com.cdncache01.com域名的解析处理。DNS解析流程见图“DNS解析流程图”
4、www.abc.com.cdncache01.com域名在权威服务器里配置的记录为多条的,即智能DNS,可参考DNSPOD,即一个域名可以根据地域的不同配置不同的解析策略,源地址为北京联通的,即解析为用户指定的联通服务器IP地址,源地址为广州移动的,即解析的IP地址为用户指定广州移动的IP地址。
5、DNS通过AnyCast技术进行三层负载均衡,类似于OSPF的等价路由,如8.8.8.8这个地址实际为一个AnyCast地址,即谷歌全球的递归DNS服务器均使用8.8.8.8作为Global DNS地址,当用户通过8.8.8.8请求域名解析时会带上自己的DNS服务器地址进行请求,即8.8.8.8会查询请求过来的客户端地址是哪里的IP地址,如果是北京联通的,即将请求解析为北京联通的一个IP地址或解析为北京联通的一个负载均衡节点CNAME域名。
6、为了达到更精准备的DNS解析调度,谷歌还研发了edns-client-subnet,即在DNS授权、递归、缓存上均支持该Edns协议,支持该协议后,用户在请求DNS域名解析时,会带上自己客户端的源IP地址放在请求包里,而非客户端配置的DNS服务器IP地址。这样就有效的避免了用户使用Global DNS服务器时不能调度精准的问题。(有关DNS授权、递归等问题可以参照RFC 1034和1035)
7、按照以上流程用户请求www.abc.com.cdncache01.com,会得到一个距离用户上网所在地域最近的一个CDN缓存节点的IP地址即楼主图中的反向代理服务节点。假设IP地址为1.2.3.4。
8、用户请求1.2.3.4的流媒体业务,节点1.2.3.4通过LVS及其它负载均衡技术将用户的请求分发布该节点内最优最快的缓存服务器,如服务器E,IP地地址为192.168.1.4,即由192.168.1.4进行业务处理。
9,服务器192.168.1.4直接将结果返回给用户。

附DNS解析流程图:


相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
30天前
|
弹性计算 运维 监控
slb后端服务器组(Backend Server Group)关联
阿里云SLB的后端服务器组提供逻辑分组、精细化路由、端口隔离、权重分配与会话保持等功能,便于资源管理、流量控制和故障隔离。通过监听规则、健康检查、标签和API关联,实现灵活的后端资源配置,适应多变的业务需求,确保服务稳定性和资源利用率。
17 1
|
1月前
【技术干货连载 二】SLB 408问题排查
SLB 408问题排查思路和方法
12 0
|
1月前
|
弹性计算 负载均衡 容灾
slb配置后端服务器组
配置阿里云SLB后端服务器组涉及四个主要步骤:创建服务器组、添加ECS实例、关联监听规则和设定负载均衡策略。这使得流量根据业务需求和服务器特性进行转发,便于应用架构的灵活管理和扩展,支持蓝绿部署、灰度发布,并通过多可用区提升系统可用性和容灾能力。
25 3
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
163 0
|
1月前
|
弹性计算 缓存 测试技术
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算 负载均衡
slb添加后端服务器
阿里云SLB服务用于流量分发,提升系统可用性和响应速度。添加ECS实例到SLB的步骤包括:登录控制台,选择“弹性计算”->“负载均衡”,找到目标SLB实例,进入详情页,点击“添加后端服务器”。挑选ECS实例,可按ID、名称或标签筛选,设置权重(默认100),并确保ECS实例状态正常,与SLB在同一地域,安全组允许SLB连接。添加后可考虑配置健康检查等高级选项。
14 1
|
1月前
|
弹性计算 负载均衡 网络安全
slb创建后端服务器组
在阿里云SLB服务中创建后端服务器组,需登录控制台,选择目标SLB实例,进入监听器设置,添加后端服务器。选择ECS实例或ENI,设定服务器端口和权重,然后保存设置。此操作将ECS实例纳入SLB的负载均衡与健康检查管理。
17 1
|
1月前
|
JavaScript 前端开发 应用服务中间件
通过域名的方式访问服务器里的资源
通过域名的方式访问服务器里的资源
24 0
|
1月前
|
弹性计算 负载均衡
slb添加后端服务器
阿里云SLB服务实现流量分发,提升业务可用性和响应速度。添加后端服务器步骤包括:登录控制台,选择“弹性计算”->“负载均衡”,点击目标SLB实例进入详情,点击“后端服务器”->“添加ECS实例”。筛选并选择ECS实例,设置权重,确认后点击“确定”。添加后检查健康检查状态,确保ECS实例状态正常,同地域、可用区,并配置好安全组规则。
16 2
|
1月前
|
弹性计算 小程序 开发者
阿里云服务器性能测评:25M带宽阿里云云服务器支持多少人访问?
在深入探讨25M带宽云服务器的性能时,我们首先要明确一个核心概念:带宽与服务器能够支持的同时访问量之间存在着直接的关联。那么,大家可能会好奇,带宽为25M的云服务器究竟能够支持多少用户同时访问呢?
127 0