网页访问过程(基于CDN)
1. 全局负载均衡(基于DNS)
如果有多台 WEB 服务器同时为一个域名提供服务时,即一条 URL 对应多个 IP 地址,那么该 URL 的权威域名服务器可能会根据该 URL 解析出多个 IP 地址,并根据每个 IP 地址所对应的服务器的性能和负载状况选择出最优的服务器 IP 地址返回给用户,用户根据该地址进行访问。
如图所示,步骤详解:
- 用户访问一个网站(www.blog.myyd.com),向本地 DNS 服务器请求该域名对应的 IP 地址
- 由于是第一次访问,本地 DNS 服务器也没有缓存记录,于是进行递归查询
- 递归查询返回的结果是指向该网站的权威域名服务器,于是本地 DNS 服务器向该权威域名服务器请求该域名所对应的 IP 地址
- 权威域名服务器根据自己本地配置的负载均衡策略(如A记录)返回一台 CDN 边缘节点的 IP 地址给本地 DNS 服务器(返回的IP是Virtual-IP2)
- 本地 DNS 服务器拿到 IP 地址后返回给用户
- 用户根据本地 DNS 服务器返回的地址(VIP2)对真实服务器进行访问
- 服务器返回响应
2. 本地负载均衡(基于LVS-DR)
对上图第 ⑥ 步的扩展:
- 用户(Client)向该 URL 对应的 IP 地址(VIP)发出请求,此时报文 IP 头是:src-ip=CIP|dst-ip=VIP,经过运营商的网络到达服务器集群的出口网关(Router)
- 网关(Router)拆开报文发现 dst-ip=VIP 在本地配置的静态路由中,下一跳指向 DIP,于是将报文重新封装好并且将 dst-mac 改为 DR-mac 发给 Switch
- Switch 查询 CAM 表后发送给 DR
- 实际上 DR 内核中的 IPVS 模块先收到该报文,然后判断 dst-ip 是否是 VIP 并且该数据包请求的服务是否是后端 RS 提供的服务?若是则执行 IPVSadm 中配置的负载均衡策略,并将 dst-ip 改为策略选中的 RS 的 RIP(不是VIP)
- RS 收到后直接将响应返回给用户(Client),不经过 DR
网页访问过程(基于CDN)的更多相关文章
- 用户对动态PHP网页访问过程,以及nginx解析php步骤
www.example.com | Nginx | 路由到www.example.com/index.php | 加载nginx的fast-cgi模块 | fast-cgi监听127.0.0.1:90 ...
- web理论知识--网页访问过程(附有Django的web项目访问流程)
当我们闲暇之余想上网看看新闻,或者看个电影,通常的操作是:打开电脑.打开浏览器.输入网址.浏览页面信息.点击自己感兴趣的连接......那么有没有想过,这些网页从哪里来的?过程中计算机又做了什么事情了 ...
- 使用CDN的网络访问过程
CDN是指内容分发网络,在网络各处架设节点服务器,当用户访问时,CDN系统会根据网络流量.到用户的距离等因素将请求导向离用户最近的节点上. 访问过程是: 1.用户向浏览器提供要访问的域名. 2.浏览器 ...
- 页面访问过程及get/post的理解——
Chrome查看开发者工具面板,常看的一些数据? Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中 ...
- 图片流量节省大杀器:基于CDN的sharpP自适应图片技术实践
版权声明:本文由陈忱原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/156 来源:腾云阁 https://www.qclou ...
- PHP 简易网页访问统计
传统的网页访问统计,已经有很多,如 51la.百度统计.站长统计 一般都需要引用JS,在你的网页内嵌入JS,这个操作存在风险,并且不可控. 可以考虑使用 [img src.css src.link h ...
- JavaScript(2)——网页解析过程
JavaScript 网页解析过程 前端编程工具:Visual Studio Code 快捷语法:Emmett语法 正题: 当我们在浏览器输入网址的时候,从服务器下载网页:这个文字经过HTML解析器的 ...
- 网页中"IE限制网页访问脚本或ActiveX控件"的提示问题的解决方法
以前从来没有注意过"IE限制网页访问脚本或ActiveX控件"的提示问题,对于这个小细节问题,虽然感觉很别扭,但一直没考虑解决方法,今天才发现该问题可以轻松解决,以下做个小小记录. ...
- svn_linux + apache 实现网页访问svn
CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ htt ...
随机推荐
- 21-[模块]-configparser
1.configparser模块 此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见配置文件格式如下 [DEFA ...
- 【HNOI2015】亚瑟王
题面 题解 考虑进行\(dp\). 设\(f[i][j]\)表示前\(i\)张卡中有\(j\)张被触发的概率. 我们可以知道第\(i\)张卡不被触发的概率为\((1 - p_i) ^ {r - j}\ ...
- 【CQOI2017】小Q的棋盘
题面 题解 根据题意,不回头是最好的(显然法) \(dfs\)找到最长链,设长度为\(\mathrm{L}\),然后分类讨论: 如果\(\mathrm{L} > m\),答案就是\(m + 1\ ...
- 2991:2011 求2011^n的后四位。
2991:2011 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 已知长度最大为200位的正整数n,请求出2011^n的后四位. 输入 第一行为一个正整数k ...
- loj2230 「BJOI2014」大融合
LCT裸题 我LCT学傻了这题明显可以树剖我不会树剖了 本来的siz是Splay上的子树和,并没有什么用. 所以每个点维护虚子树和和子树和 虚子树和即虚边连接的子树和,且只有在access和link操 ...
- JAVAWEB servlet验证登录时进行完全的非空判断防止空值登录
如果不进行完全的非空判断,那么对 "" 这种类型的空值就会导致直接登录 所以需要用下面的字符串处理方法对其进行判断 这样就可以防止空值登录了 容易出现的混淆错误: 这里的空值登录容 ...
- ARP 地址分类 NAT技术
第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层 互联网层 网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...
- Excel表格生成sql语句
假如excel表格中有A.B.C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age ,在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下: ...
- 动态加载与插件系统的初步实现(二):AppDomain卸载与代理
前一篇文章简单展示了类型发现和MEF使用,本文初步进入AppDomain相关内容. CLR程序运行时会创建默认程序集容器即AppDomain,默认AppDomain不支持卸载其程序集,但CLR支持创建 ...
- linux centos7 nginx 安装部署和配置
1/什么是NginxNginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...