我写技术文章画的图片是保存到 GitHub 的,没别的原因,就是因为免费,但是 GitHub 访问的速度大家都懂的,访问的速度很慢。
什么是 CDN?
怎么做到的呢?
CDN 能加速什么类型的内容?
CDN 是怎么从源服务器获取资源的呢?
如何找到离用户最近的 CDN 节点 ?
如果本地 DNS 服务器有缓存该网站的地址,则直接返回网站的地址;
如果没有就通过递归查询的方式,先请求根 DNS,根 DNS 返回顶级 DNS(.com)的地址;再请求 .com 顶级 DNS 得到 xiaolin.com 的域名服务器地址,再从 xiaolin.com 的域名服务器中查询到 www.xiaolin.com 对应的 IP 地址,然后返回这个 IP 地址,同时本地 DNS 缓存该 IP 地址,这样下一次的解析同一个域名就不需要做 DNS 的迭代查询了。
看用户的 IP 地址,查表得知地理位置,找相对最近的 CDN 节点;
看用户所在的运营商网络,找相同网络的 CDN 节点;
看用户请求 URL,判断哪一台服务器上有用户所请求的资源;
查询 CDN 节点的负载情况,找负载较轻的节点;
你好,我是公子龙,毕业于中科院,前大型计算机竞赛冠军,现算法工程师,拿过九家大厂的 offer 。
北漂七年,从小白到计算机竞赛冠军,读研时通过实习和比赛收入 50 万,点击蓝字查看我的编程之路。