当前位置: 首页 > news >正文

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.总结对比

内容CDNP2PPCDN
节点资源全部来自IDCP2P互传资源互补
用户管理有效性可实现用户的有效管理无法进行有效的用户管理可实现用户的有效管理
成本成本高成本低成本适中
性能高性能性能不稳定高性能


好啦,以上就是关于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二次封装树形表格

复制粘贴即可&#xff1a; 一、定义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

前言 本书提供了实现大型响应式微服务的实用方法和指导原则&#xff0c;并通过示例全面 讲解如何构建微服务。本书深入介绍了 Spring Boot、Spring Cloud、 Docker、Mesos 和 Marathon&#xff0c;还会教授如何用 Spring Boot 部署自治服务&#xff0c;而 无须使用重量级应用服…...

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应用程序时&#xff0c;默认情况下&#xff0c;应用程序的上下文路径&#xff08;也称为项目名称&#xff09;将是war文件的名称&#xff08;去除.war扩展名&#xff09;。这意味着您在访问Web应用程序时必须在URL中包含项目名称。例如&#xff0c;如…...

[JAVAee]线程安全

目录 线程安全的理解 线程不安全的原因 ①非原子性 ②可见性 ③代码重排序 体会何为不安全的线程 保证线程安全 一个代码在多线程的环境下就很容易出现错误. 线程安全的理解 线程安全是什么呢?通俗的来讲,线程安全就是在多线程的环境下,代码的结果是符合我们预期的,就…...

ELK环境搭建——概况

Elastic Stack,核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。 目录 一:Elasticsearch: 1.1 从数据中探寻各种问题的答案 1.1.1 定义您自己的搜索方式...

面试知识点整理

计算机的物理内存是有限的&#xff0c;所以操作系统在遇到内存不足时&#xff0c;会通过换页机制暂时把 某个进程未使用的内存中的数据搬移到硬盘上&#xff08;比如 Linux 的 swap 分区&#xff09;&#xff0c;并在系统页表中 删除相应的表项。当该进程访问数据已经被搬移到硬…...

腾讯云服务器CVM计算型c6/c5实例CPU型号、处理器主频大全

腾讯云服务器CVM计算型C6、C5、C4、CN3、C3和C2实例&#xff0c;计算型C6云服务器CPU采用Intel Xeon Ice Lake处理器&#xff0c;主频3.2GHz&#xff0c;睿频3.5GHz&#xff0c;腾讯云服务器网分享更多计算型CVM云服务器CPU型号、处理器主频性能说明&#xff1a; 目录 云服务…...

vue3笔记-脚手架篇

第一章 基础篇 第二章 脚手架篇 vue2与vue3的一些区别 响应式系统&#xff1a; Vue 2 使用 Object.defineProperty 进行响应式数据的劫持和监听&#xff0c;它对数据监听是一项项的进行监听&#xff0c;因此&#xff0c;当新增属性发生变化时&#xff0c;它无法监测到&…...

数字的补数

题目&#xff1a; 对整数的二进制表示取反&#xff08;0 变 1 &#xff0c;1 变 0&#xff09;后&#xff0c;再转换为十进制表示&#xff0c;可以得到这个整数的补数。 例如&#xff0c;整数 5 的二进制表示是 "101" &#xff0c;取反后得到 "010" &…...

Taskfile demo

https://github.com/yangyang5214/blog/issues/1 makefile 很好用&#xff0c;但是有些语法我不会。 go-task yml & shell 不错&#xff0c;推荐 Taskfile.yml https://github.com/go-task/task/blob/main/.golangci.yml # go install github.com/go-task/task/v3/cmd/ta…...

MyBatis学习笔记之高级映射及延迟加载

文章目录 环境搭建&#xff0c;数据配置多对一的映射的思路逻辑级联属性映射association分布查询 一对多的映射的思路逻辑collection分布 环境搭建&#xff0c;数据配置 t_class表 t_stu表 多对一的映射的思路逻辑 多对一&#xff1a;多个学生对应一个班级 多的一方是st…...

小程序如何删除/上架/下架商品

在小程序中&#xff0c;产品的删除、上架和下架是常见的操作&#xff0c;可以根据实际需求来管理商品的展示与销售。下面将介绍如何在小程序中删除上架下架商品的具体步骤。 进入商品管理页面&#xff0c; 在个人中心点击管理入口&#xff0c;然后找到“商品管理”菜单并点击。…...

Failed to load local font resource:微信小程序加载第三方字体

加载本地字体.ttf 将ttf转换为base64格式&#xff1a;https://transfonter.org/ 步骤如下 将下载后的stylesheet.css 里的font-family属性名字改一下&#xff0c;然后引进页面里就行了&#xff0c;全局样式就放app.scss&#xff0c;单页面就引入单页面 注&#xff1a; .title…...

使用fastjson错误

说明&#xff1a;使用fastjson时&#xff0c;对象解析不成功&#xff0c;一直报错&#xff0c;但是json格式没有错&#xff1b; 错误信息&#xff1a;Method threw ‘com.alibaba.fastjson.JSONException’ exception. json数据是正确的 分析&#xff1a;注意看&#xff0c;fa…...

【GitOps系列】使用Kustomize和Helm定义应用配置

文章目录 使用 Kustomize 定义应用改造示例应用1.创建基准和多环境目录2.环境差异分析3.为 Base 目录创建通用 Manifest4.为开发环境目录创建差异 Manifest5.为预发布环境创建差异 Manifest6.为生产环境创建差异 Manifest 部署 Kustomize 应用部署到开发环境部署到生产环境 使用…...

Android kotlin高阶函数与Java lambda表达式介绍与实战

一、介绍 目前在Java JDK版本的不断升高&#xff0c;新的表达式已开始出现&#xff0c;但是在Android混淆开发中&#xff0c;kotlin的语言与Java的语言是紧密贴合的。所以Java lambda表达式在kotlin中以新的身份出现&#xff1a;高阶函数与lambda表达式特别类似。接下来我讲会先…...

自然语言处理实战项目13-基于GRU模型与NER的关键词抽取模型训练全流程

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下自然语言处理实战项目13-基于GRU模型与NER的关键词抽取模型训练全流程。本文主要介绍关键词抽取样例数据、GRU模型模型构建与训练、命名实体识别(NER)、模型评估与应用&#xff0c;项目的目标是通过训练一个GRU模型…...

7.26 Qt

用QT制作一个登陆界面 运行代码 login.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> //信息调试类&#xff0c;用于输出 #include <QIcon> //图标类头文件 #include <QPushButton&…...

【MySQL】库和表的操作

目录 一、库的操作 1.1创建数据库 1.2创建数据库案例 1.3字符集和校验规则 &#xff08;1&#xff09;查看系统默认字符集以及校验规则 &#xff08;2&#xff09;查看数据库支持的字符集 &#xff08;3&#xff09;查看数据库支持的字符集校验规则 &#xff08;4&…...

(五)RabbitMQ-进阶 死信队列、延迟队列、防丢失机制

Lison <dreamlison163.com>, v1.0.0, 2023.06.23 RabbitMQ-进阶 死信队列、延迟队列、防丢失机制 文章目录 RabbitMQ-进阶 死信队列、延迟队列、防丢失机制死信队列延迟队列延迟队列介绍**延迟队列_死信队列_的实现**延迟队列_插件实现下载插件RabbitMQ 配置类RabbitMQ …...

windows下面的python配置

安装包选择exe后缀的 链接&#xff1a;https://pan.baidu.com/s/1sTzQdHMqI4KZwyJHl79Q3w 提取码&#xff1a;1111 PIP安装脚本 python版本pip安装脚本下载地址n3.6https://bootstrap.pypa.io/pip/3.6/get-pip.py3.7及以上https://bootstrap.pypa.io/get-pip.py 控制面板新…...