• 网页访问过程(基于CDN)


    1. 全局负载均衡(基于DNS)

    如果有多台 WEB 服务器同时为一个域名提供服务时,即一条 URL 对应多个 IP 地址,那么该 URL 的权威域名服务器可能会根据该 URL 解析出多个 IP 地址,并根据每个 IP 地址所对应的服务器的性能和负载状况选择出最优的服务器 IP 地址返回给用户,用户根据该地址进行访问。

    DNS-A记录实现全局负载均衡

    如图所示,步骤详解:

    1. 用户访问一个网站(www.blog.myyd.com),向本地 DNS 服务器请求该域名对应的 IP 地址
    2. 由于是第一次访问,本地 DNS 服务器也没有缓存记录,于是进行递归查询
    3. 递归查询返回的结果是指向该网站的权威域名服务器,于是本地 DNS 服务器向该权威域名服务器请求该域名所对应的 IP 地址
    4. 权威域名服务器根据自己本地配置的负载均衡策略(如A记录)返回一台 CDN 边缘节点的 IP 地址给本地 DNS 服务器(返回的IP是Virtual-IP2)
    5. 本地 DNS 服务器拿到 IP 地址后返回给用户
    6. 用户根据本地 DNS 服务器返回的地址(VIP2)对真实服务器进行访问
    7. 服务器返回响应

    2. 本地负载均衡(基于LVS-DR)

    LVS-DR

    对上图第 ⑥ 步的扩展:

    1. 用户(Client)向该 URL 对应的 IP 地址(VIP)发出请求,此时报文 IP 头是:src-ip=CIP|dst-ip=VIP,经过运营商的网络到达服务器集群的出口网关(Router)
    2. 网关(Router)拆开报文发现 dst-ip=VIP 在本地配置的静态路由中,下一跳指向 DIP,于是将报文重新封装好并且将 dst-mac 改为 DR-mac 发给 Switch
    3. Switch 查询 CAM 表后发送给 DR
    4. 实际上 DR 内核中的 IPVS 模块先收到该报文,然后判断 dst-ip 是否是 VIP 并且该数据包请求的服务是否是后端 RS 提供的服务?若是则执行 IPVSadm 中配置的负载均衡策略,并将 dst-ip 改为策略选中的 RS 的 RIP(不是VIP)
    5. RS 收到后直接将响应返回给用户(Client),不经过 DR
  • 相关阅读:
    迭代器接口
    实现Promise
    学学springboot吧!!!!
    了解一下连接池!!!!
    Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules ???报错!!!
    requset和response的区别????
    百度也太神奇了吧
    这个svn啊,真的是有点看不懂
    BootStrap???确实厉害
    突然看到原来除了jar包还有war包啊?????
  • 原文地址:https://www.cnblogs.com/myyd/p/7820991.html
Copyright © 2020-2023  润新知