热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cdn搭建原理_CDN的基本原理和基础架构

CDN基本原理最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS

CDN基本原理

最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:

①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。

③用户向CDN的全局负载均衡设备发起内容URL访问请求。

④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。

⑥全局负载均衡设备把服务器的IP地址返回给用户。

⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

CDN关键组件

LVS做四层均衡负载

DR模式

双LVS做Active-Active互备

负载均衡算法采用wrr

Tengine做七层负载均衡

阿里基于Nginx开发的高性能HTTP服务器,已经开源,详细请了解:http://tengine.taobao.org

主动健康检查

SPDY v3支持

Swift做HTTP缓存

高性能Cache

磁盘(SSD/SATA)

CDN基础架构

CDN部署架构



推荐阅读
  • 高并发网站架构的核心原则其实就一句话“把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就不要让他去访问CDN。能缓存CDN服务器上的,就不要让CDN去访问源(静态服 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 架构设计:负载均衡层设计方案之负载场景和解决方式篇
    来自:JAVA入门中https:blog.csdn.netyinwenjiearticledetails46605451在上一篇《标准Web系统的架构分层》文章中&# ... [详细]
  • 缓存的重要性就不用再强调了,@OutputCache给我们提供了一种声明的方式(对应的还有编程的方式)来控制页面和用户控件的缓存策略,这是一种最简单直接的网站优化方式。还是先来过一遍@ ... [详细]
  • js html 图片 缓存问题,如何防止浏览器缓存CACHE?将CSS、JS、图片加上参数
    什么是浏览器缓存浏览器缓存功能是网页性能优化的项目之一使用浏览器缓存功能如果用户再次来到您的网站,缓存css、js、jpg、png图档等静态资源将能使网页打开速度加快 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 于2012年3月份开始接触OpenStack项目,刚开始之处主要是与同事合作共同部署公司内部的云平台,使得公司内部服务器能更好的得到资源利用。在部署的过程中遇到各种从未遇到过的问题 ... [详细]
  • rust编程这篇文章是关于我通过解决Twitch上尚未解决的所有CtCI问题来学习Rust的经验。英国科学博物馆集团AdaLovelace的肖像Rust徽标,由Moz ... [详细]
  • 在应用开发中少不了界面元素的布局、适配、自适应。之前苹果已经为我们提供了 AutoLayout 和 SizeClasses,方便我们实现页面的自适应弹性布局。但对于一些复杂的交互界 ... [详细]
  • LVS服务器集群系统
    LVS介绍LVS:LinuxVirtualServer,负载调度器,内核集成,章文嵩(花名正明),阿里的四层SLB(ServerLoadBalance)是基于LVS+keepali ... [详细]
  • 前言微服务架构(MicroserviceArchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务 ... [详细]
  • SpringBoot与缓存使用及原理(上),Go语言社区,Golang程序员人脉社 ... [详细]
  • 启动监控MonitorTables主要存储一些监控信息(当前运行的SQL,IO统计信息,当前进程情况)比如monDevic ... [详细]
  • 阿里p8用端午节3天假期整理出了Spring Cloud知识点大全,太全了
     前言:今天一觉起来,发现我们开工的日期又延迟了,虽然已经在家办公一个多礼拜了,但是由于家里的环境还是不能有很高的效率。于是干脆就对SpringCloud的一些知识点做了一些整理。 ... [详细]
author-avatar
谢谢巷议
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有