CDN、P2P、PCDN的区别是什么
本篇文章为大家介绍一下与网络加速有关的几个重要概念,一起了解一下CDN,P2P和PCDN究竟是什么吧!
1. CDN
CDN即Content Delivery Network,中文全称为内容分发网络。
如果内容离用户远,用户可能无法获得及时的响应,那么这个时候,如果我们想办法把内容缓存在离用户近的地方,这样不就可以解决这个问题了?CDN技术就是解决了这样一个问题,因为这项技术是将内容进行了分发,所以名字叫做内容分发网络。
CDN 通过将内容发布到距离用户更近的网络“边缘”侧,并根据用户所在位置将用户请求调度到离该内容最近的网络节点服务器,使用户就近获取内容,从而减少中心服务器的网络压力,并提高用户访问响应速度。
需要注意的是,CDN并不是只能缓存视频内容,它还可以对网站的静态资源进行分发,这些静态资源包含各类型图片、html、css、js等。此外,移动应用APP的静态内容也是类似,安装包apk文件、APP内的图片视频等都可以通过CDN来进行分发。
传统架构
CDN架构
CDN市场规模
上图是2020-2025年中国CDN行业市场规模预测情况,截止2020年底,中国CDN市场规模达 311亿元,同比增速超30%。预计到2025年,CDN行业的市场规模将达到 950亿元 左右。
总而言之,CDN应用范围广且行业市场前景广阔。
2. P2P
P2P即Peer-To-Peer,应用于互联网上,是指一种点对点传输的网络结构,形象地描述为图1这样一个搭档式的组织结构。如同人与人之间的交流,每个节点(也就是搭档)之间地位相同,又相互独立,处于对等状态,不以个人为中心,既可以作为客户端又可以作为服务端,彼此之间实现资源共享,即我为人人,人人为我的核心思想。还能动态地加入或退出系统,消除了中间环节,减轻了节点之间的沟通代价。
简单来说,P2P就是指数据的传输不再通过服务器,而是网络用户之间直接传递数据。
P2P 技术主要可总结为以下四个特点:
(1)无中心点。
P2P 技术是将网络中所有的资源和服务分散在每一个节点上,这样每一个节点都具有了相同的地位,兼具双重功能, 既可以请求服务也可以提供服务。 这一特点是 P2P 技术模式显著区别于 CDN 技术的鲜明特点。
(2)健壮性和可扩展性。
突破了传统的 C/S 模式限制,每一个节点工作的过程中受网络和其他节点的影响较小, 即使少量的节点或者网络遭到破坏出现故障, 也不会影响整个系统的正常运行。
(3)高性价比。
P2P 技术具有较高的性价比,在较低成本的前提下能够兼顾优良的工作性能。
(4)负载均衡。
由于 P2P 模式的客户/服务双重性特点,资源分配的均衡降低了传统 C/S 模式对服务器运算和储存能力的要求,体现了整个网络的负载均衡。
3. PCDN
PCDN是什么意思?
在CDN产品的基础上融合新一代P2P技术,充分利用边缘网络海量碎片化的计算、存储、网络等闲置资源构建低成本、高质量的内容分发网络服务。通过创新的分发网络优化技术和精准的智能调度系统,在为用户提供稳定、高质量的分发加速服务的同时,显著降低分发成本。
适用于视频点播、直播、大文件下载等业务场景。
PCDN技术的优势:
减少中心节点数据源的压力
CDN 服务节点获取数据的方式为直接访问数据源服务器,内容中心压力大、消耗带宽多。 融合方案对 CDN 服务节点 采用 P2P 方式进行组织,节点间点对点互相共享、数据缓存, 缓解内容中心压力。
系统服务能力的高可靠性
CDN 系统的自我恢复能力和整体冗余能力在不同服务节 点对中心数据的多点备份下得以提高, 系统稳定性亦进一步增强。
服务灵活性提升
P2P 下的数据共享方式, 可提供的服务节点数量大大增加,同时各个服务节点灵活性大大提升。
可扩展性增强,提升服务效率
面对用户访问高并发、无规律的情况,采用 P2P 技术对下层内容进行分发,使整体系统具有良好的弹性,能够保持良好的服务效率。
提高网络的可管理性,避免流量无序
传统 P2P 技术容易造成过多的跨地区而导致的骨干网拥塞、流量无序的问题。 系统将 P2P 的范围严格限制在某一边缘服务节点的服务区域内,增强了网络服务的可靠性。
4.总结对比
内容 | CDN | P2P | PCDN |
节点资源 | 全部来自IDC | P2P互传 | 资源互补 |
用户管理有效性 | 可实现用户的有效管理 | 无法进行有效的用户管理 | 可实现用户的有效管理 |
成本 | 成本高 | 成本低 | 成本适中 |
性能 | 高性能 | 性能不稳定 | 高性能 |
好啦,以上就是关于CDN P2P和PCDN的介绍,感谢大家的耐心阅读。
相关文章:
CDN、P2P、PCDN的区别是什么
本篇文章为大家介绍一下与网络加速有关的几个重要概念,一起了解一下CDN,P2P和PCDN究竟是什么吧! 1. CDN CDN即Content Delivery Network,中文全称为内容分发网络。 如果内容离用户远,用户可能无法获得及时的响应,那…...

MYSQL练习一答案
练习1答案 构建数据库 数据库 数据表 answer开头表为对应题号答案形成的数据表 表结构 表数据 答案: 1、查询商品库存等于50的所有商品,显示商品编号,商 品名称,商品售价,商品库存。 SQL语句 select good_no,good…...
路由器(第二十五课)
路由器的深入学习 一、路由 1、路由 1) 什么是路由:路由就是数据包从一个网络到另外一外网络的过程 2)支持路由功能的设备:路由器、三层交换机、防火墙 3 路由器转发数据包的依据: -每一台路由器都维护着一张路由表 -路由器是依靠这张路由表来转发数据的 -这张路由表就…...

物联网网关模块可以带几台plc设备吗?可以接几个modbus设备?
随着物联网技术的快速发展,物联网网关模块已经成为了实现物联网应用的重要工具。很多客户在选择物联网网关模块时想了解物联网网关模块的设备接入能力,一个物联网网关模块可以带几台PLC设备?可以接几个Modbus设备? 物联网网关模块…...

SpringBoot中间件—ORM(Mybatis)框架实现
目录 定义 需求背景 方案设计 代码展示 UML图 实现细节 测试验证 总结 源码地址(已开源):https://gitee.com/sizhaohe/mini-mybatis.git 跟着源码及下述UML图来理解上手会更快,拒绝浮躁,沉下心来搞 定义&#x…...

结构化思维:高效能项目经理人的底层能力
大家好,我是老原。 我们经常会说「高效能」,那怎么成为高效能人士?其实除了拼体力和心力以外,高效能更重要的是脑力,这里的脑力不是指智力,而是结构化思维。 随着你在职场中不断成长和进阶,级…...

Pytorch个人学习记录总结 07
目录 神经网络-非线性激活 神经网络-线形层及其他层介绍 神经网络-非线性激活 官方文档地址:torch.nn — PyTorch 2.0 documentation 常用的:Sigmoid、ReLU、LeakyReLU等。 作用:为模型引入非线性特征,这样才能在训练过程中…...

vue3+ts+elementui-plus二次封装树形表格
复制粘贴即可: 一、定义table组件 <template><div classmain><div><el-table ref"multipleTableRef" :height"height" :default-expand-all"isExpend" :data"treeTableData"style"width: 100%…...
机器学习/深度学习常见算法实现(秋招版)
包括BN层、卷积层、池化层、交叉熵、随机梯度下降法、非极大抑制、k均值聚类等秋招常见的代码实现。 1. BN层 import numpy as npdef batch_norm(outputs, gamma, beta, epsilon1e-6, momentum0.9, running_mean0, running_var1)::param outputs: [B, L]:param gamma: mean:p…...

京东技术专家首推:Spring 微服务架构设计,GitHub 星标 128K
前言 本书提供了实现大型响应式微服务的实用方法和指导原则,并通过示例全面 讲解如何构建微服务。本书深入介绍了 Spring Boot、Spring Cloud、 Docker、Mesos 和 Marathon,还会教授如何用 Spring Boot 部署自治服务,而 无须使用重量级应用服…...
R语言--森林图制作
#数据准备- data5 #install.packages("rmda")rm(list=ls())library(MASS)library(rmda)library(dplyr) #mutate依赖环境library(magrittr) #%>%依赖setwd("D:/R/nomo5new2")data...
Tomcat中利用war包部署
在Tomcat中利用war包部署Web应用程序时,默认情况下,应用程序的上下文路径(也称为项目名称)将是war文件的名称(去除.war扩展名)。这意味着您在访问Web应用程序时必须在URL中包含项目名称。例如,如…...

[JAVAee]线程安全
目录 线程安全的理解 线程不安全的原因 ①非原子性 ②可见性 ③代码重排序 体会何为不安全的线程 保证线程安全 一个代码在多线程的环境下就很容易出现错误. 线程安全的理解 线程安全是什么呢?通俗的来讲,线程安全就是在多线程的环境下,代码的结果是符合我们预期的,就…...
ELK环境搭建——概况
Elastic Stack,核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。 目录 一:Elasticsearch: 1.1 从数据中探寻各种问题的答案 1.1.1 定义您自己的搜索方式...
面试知识点整理
计算机的物理内存是有限的,所以操作系统在遇到内存不足时,会通过换页机制暂时把 某个进程未使用的内存中的数据搬移到硬盘上(比如 Linux 的 swap 分区),并在系统页表中 删除相应的表项。当该进程访问数据已经被搬移到硬…...
腾讯云服务器CVM计算型c6/c5实例CPU型号、处理器主频大全
腾讯云服务器CVM计算型C6、C5、C4、CN3、C3和C2实例,计算型C6云服务器CPU采用Intel Xeon Ice Lake处理器,主频3.2GHz,睿频3.5GHz,腾讯云服务器网分享更多计算型CVM云服务器CPU型号、处理器主频性能说明: 目录 云服务…...

vue3笔记-脚手架篇
第一章 基础篇 第二章 脚手架篇 vue2与vue3的一些区别 响应式系统: Vue 2 使用 Object.defineProperty 进行响应式数据的劫持和监听,它对数据监听是一项项的进行监听,因此,当新增属性发生变化时,它无法监测到&…...
数字的补数
题目: 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 "101" ,取反后得到 "010" &…...
Taskfile demo
https://github.com/yangyang5214/blog/issues/1 makefile 很好用,但是有些语法我不会。 go-task yml & shell 不错,推荐 Taskfile.yml https://github.com/go-task/task/blob/main/.golangci.yml # go install github.com/go-task/task/v3/cmd/ta…...

MyBatis学习笔记之高级映射及延迟加载
文章目录 环境搭建,数据配置多对一的映射的思路逻辑级联属性映射association分布查询 一对多的映射的思路逻辑collection分布 环境搭建,数据配置 t_class表 t_stu表 多对一的映射的思路逻辑 多对一:多个学生对应一个班级 多的一方是st…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...