浅谈CDN是怎么工作的?

浅谈CDN是怎么工作的?

大家好,又见面了,我是全栈君。

点击上方“码农编程进阶笔记”,选择“置顶或者星标

优质文章第一时间送达!

CDN(Content Delivery Network) 内容分发网络

   依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能,使用户就近获取所需内容,提高用户访问响应速度和命中率。

CDN工作原理

·        用户在浏览器中输入要访问的域名

·        浏览器对域名解析,(CDN对域名解析过程进行了调整)得到该域名的CNAME记录,然后利用全局的负载均衡DNS解析得到实际的IP地址

·        浏览器在得到了实际的IP地址(缓存服务器的IP)后向缓存服务器发出访问请求

·        缓存服务器根据浏览器提供的要访问的域名通过DNS解析得到该域名对应的实际的IP地址,然后该缓存服务器向此实际IP地址提交访问请求

·        缓存服务器从实际IP地址得到内容后,进行两个操作:

§  将得到的内容保存到本地,以便以后使用

§  将获取的内容返回给客户端,完成数据服务过程

CND关键技术

  内容路由技术、内容分发技术、内容存储技术、内容管理技术

内容路由功能

·        CDN的负载均衡系统实现CDN的内容路由功能。CDN内容路由功能作用使用户请求到达CDN网络中的最佳节点

·        全局负载均衡主要目的是让用户的请求到达CDN网络中最近的节点

·        局部负载均衡    在特定的范围内寻找一台合适的节点提供服务(要考虑到节点的健康性、负载情况、支持的媒体格式等运行状态)

 

内容分发技术

内容分发技术主要是PUSH和PULL

·        PUSH是一种主动分发的技术,通常由内容管理系统发起,将内容从源或者中心媒体资源库发布到各个边缘的Cache节点(HTTP/FTP)

·        PULL 是一种被动的分发技术,当用户请求的内容不在请求所达到的边缘Cache的节点上时,该节点会从内容源或其他节点PULL下所需的内容(按需分发)

内容存储技术

内容源的存储通常采用海量存储架构(内容的规模及吞吐量较大)

·        在Cache节点中的存储

·        Cache节点的存储要考虑:

§  功能上,对各种内容格式的支持、对部分缓存的支持

§  性能上,容量大小,吞吐率、可靠性及稳定性

内容管理技术

本地内容管理(对Cache节点而言)的目标是提高内容服务的效率,提高本地节点的存储利用率。

·        本地内容索引是实现基于内容感知调度的关键

·        本地内容的复制。通常为了提高存储的效率,同一个内容只在某个特定的节点中存储一份,当对该内容的访问超过这个节点的能力范围,就将该内容进行分发到其他节点上

·        本地内容访问状态的收集。搜集各个节点上各个内容访问的统计信息,节点可用服务能力及内容变化的情况

看到这里啦,说明你对这篇文章感兴趣,帮忙一下或者点击文章右下角在。感谢啦! 

浅谈CDN是怎么工作的?                来都来了,点个在看再走吧~~~浅谈CDN是怎么工作的?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112016.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何在JavaScript中使用数组方法:Mutator方法[通俗易懂]

    如何在JavaScript中使用数组方法:Mutator方法[通俗易懂]JavaScript中的数组由元素列表组成。JavaScript有许多有用的内置方法来处理数组。修改原始数组的方法称为mutator方法,返回新值或表示的方法称为accessor方法。在…

    2025年11月3日
    15
  • c++stl基础及应用_stl详解

    c++stl基础及应用_stl详解一、c++STL常用内容总结文章目录一、c++STL常用内容总结1.vector(数组)1.1介绍1.2方法函数1.3注意点1.3.a排序1.3.b访问2.stack(栈)2.1介绍2.2方法函数2.3注意点2.3.a.栈遍历2.3.b.模拟栈3.queue(队列)3.1介绍3.2方法函数4.deque(双端队列)4.1介绍4.2方法函数4.3注意点5.priority_queue(优先队列)5.1介绍5.2函数方法5.3设置优先级5.3.a基本数据类型的优先级5

    2022年10月15日
    3
  • FIREBIRD使用经验总结

    FIREBIRD使用经验总结

    2021年7月30日
    65
  • golang map 有序_有序化最重要的手法是

    golang map 有序_有序化最重要的手法是要使得Map有序化,我们必须要对map的key进行排序,我们可以使用sort.Strings函数对字符串进行排序。packagemainimport( "fmt" "sort")funcmain(){ slice1:=map[string]int{ "wangxiaoming":12, "liming":11, "fenglingling"…

    2025年12月9日
    3
  • console.log()的作用与实现[通俗易懂]

    console.log()的作用与实现[通俗易懂]console.log()的作用是什么主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。相比alert他的优点是:1,他能看到结构话的东西,如果是alert,淡出一个对象就是[objectobject],但是console能看到对象的内容。,2,console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。3,console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到:Cons

    2022年7月14日
    18
  • 一张图看懂字节跳动8年创业史,太励志了吧

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 转载自| BAT(id:batfun) 字节跳动可以说是这两年 最受关注的互联网公司之一 2020年3月12日 字节…

    2021年6月27日
    372

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号