负载平衡如何将请求分发到离用户最近的服务器?

如果你从CDN上看到这句话,那么我可以解释这个过程。全局负载平衡技术引导用户访问最近的工作流媒体服务器。首先,我们应该明确几件事:

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调度到最快最好的服务器进行处理,加速了用户对网站和视频的访问。

速度。(其实还有一种技术叫缓存技术来加速视频,就是提前把视频下载到最近的节点,用户好像是在局域网内观看。)

DNS和CDN调度的流程如下:

1.用户访问流媒体服务的域名为“www . ABC . com”;

2.www.abc.com的cname记录为CDN服务商的域名,如www.abc.com.cdncache 01 . com;

3.用户的请求被转发到www . ABC . com . cdn cache 01 . com进行处理,这触发用户解析www . ABC . com . cdn cache 01 . com的域名..DNS解析流程图见图“DNS解析流程图”。

4、

www . ABC . com . cdn cache 01 . com域名在权威服务器即智能DNS中配置了多条记录。请参考DNSPOD,即一个域名可以基于。

不同的域配置有不同的解析策略。源地址为北京联通,即解析用户指定的联通服务器IP地址,源地址为广州移动,即解析的IP地址为用户指定。

IP地址。

5.DNS通过AnyCast技术进行三层负载均衡,类似于OSPF的等价路由。例如,8.8.8.8的地址实际上是任意播的。

地址,也就是谷歌的递归DNS服务器都使用8.8.8.8作为全球。

DNS地址,当用户通过8.8.8.8请求域名解析时,会自带DNS服务器地址进行请求,即8.8.8.8会查询被请求客户端的IP地址。

地址,如果是北京联通,请求将被解析为北京联通的一个IP地址或北京联通的一个负载均衡节点的CNAME域名。

6.以便实现更好的DNS准备。

解析调度,Google还开发了edns-client-subnet,在dns授权、递归、缓存方面支持edns协议。支持此协议后,用户请求DNS域名。

解析的时候会带自己客户端的源IP地址放在请求包里,而不是客户端配置的DNS服务器IP地址。这有效地阻止了用户使用全局。

DNS服务器无法准确计划。(关于DNS授权和递归的问题,请参考RFC 1034和1035。)

7.按照上面的流程,用户请求www . ABC . com . CDN cache 01 . com,会得到一个离用户在线位置最近的CDN缓存节点的IP地址,也就是主建筑图中的反向代理服务节点。假设IP地址是1.2.3.4。

8.用户请求1.2.3.4的流媒体服务,节点1.2.3.4将用户的请求分发到节点中最优最快的缓存服务器,比如服务器E,IP地址为192.5438+068.6438+0.4。

9,服务器192.168.1.4直接将结果返回给用户。