浅谈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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • porm导致项目运行错误

    porm导致项目运行错误由于创建moduel基于原来项目之上导致porm会继承原有项目导致运行错误解决:删除继承关系relative

    2022年6月14日
    54
  • java基本运算符及应用,这是一个闰年吗_苹果12.6. 1正式发布

    java基本运算符及应用,这是一个闰年吗_苹果12.6. 1正式发布方法1:importjava.util.Scanner;publicclassShixun1{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);System.out.println(“请输入年份:”);intyear=input.nextInt();if(year%400==0||(…

    2025年6月2日
    8
  • OHEM的pytorch代码实现细节

    OHEM的pytorch代码实现细节详细解读一下OHEM的实现代码:defohem_loss(batch_size,cls_pred,cls_target,loc_pred,loc_target,smooth_l1_sigma=1.0):”””Arguments:batch_size(int):numberofsampledroisforbboxhe…

    2022年5月29日
    99
  • spring整合Mybatis-plus[通俗易懂]

    spring整合Mybatis-plus[通俗易懂]spring整合Mybatis-plus今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。既然是spring,那就少不了各种xxx.xml配置文件。那就先说说配置文件<1>.application-dao.xmldao层的配置,他的核心就是要产生Mapper代理对象 1、数据源的配置<context:prope…

    2022年6月6日
    27
  • Vue里this指向

    Vue里this指向一 普通函数中的 this nbsp 这是 vue 文档里的原话 All nbsp lifecycle nbsp hooks nbsp are nbsp called nbsp with nbsp their nbsp this nbsp context nbsp pointing nbsp to nbsp the nbsp Vue nbsp instance nbsp invoking nbsp it 意思是 在 Vue 所有的生命周期钩子方法 如 created mounted nbsp updated 以及 destroyed 里使用 this this 指向调用它的 Vu

    2026年1月23日
    1
  • Linux修改文件内容【命令】

    Linux修改文件内容【命令】在/opt/hello/world.txt文件中增加一行 hellolinuxworld!方法一:命令是:vi,vimvi编辑器,相当于记事本,有编辑功能,但较弱vim复杂的编辑器,相当于windows的editplus,notepad++等————————步骤:1、执行viworld.txt 进入编辑器(默认

    2022年7月26日
    23

发表回复

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

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