当前位置:网站首页>CDN 在游戏领域的应用
CDN 在游戏领域的应用
2022-07-02 11:56:00 【云计算-Security】
一、什么是 CDN ?
CDN(Content Delivery Network),即内容分发网络,是由多个边缘服务器节点组成的分布式网络组。其利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。
二、为什么使用 CDN ?
实际上使用 CDN 技术可以带给我们游戏客户更佳的游戏体验,因为我们都知道,在没有使用 CDN 技术的时候,每次的资源请求都会请求源 Host 服务器,如果在高并发的场景下,源 Host 服务器将会承担更多的压力,甚至存在宕机的可能性。
所以使用 CDN 技术主要有以下作用:
- 分担源站压力;
- 避免网络拥塞;
- 加速网站内容分发,提高资源访问速度。
三、CDN 应用场景
1、静态文件分发
- 图片文件;
- CSS 文件;
- JS 文件;
- …
2、大文件下载
- 游戏安装包;
- 升级程序包;
- 应用更新;
- …
3、音视频点播
- 转码;
- 解码;
- 存储;
- …
以上的场景均适用于游戏(当然不局限于游戏)、影视、新闻媒体等领域。
四、CDN 加速原理
假设加速的域名为
www.zhurse.com
1、客户访问 www.zhurse.com
- 本地 DNS 解析;
- 返回域名的 CNAME 域(
www.cdcd.example);
2、本地 DNS 向 CDN 的 DNS 调度系统请求 www.cdcd.example 的解析记录,并为其分配最佳 CDN 节点的 IP 地址,然后返回给本地 DNS。
3、本地 DNS 获取 CDN 的 DNS 调度系统返回的最佳 CDN 节点 IP 地址后,并将最佳节点 IP 地址返回给用户,用户从而获取到最佳 CDN 节点的 IP 地址。
4、用户向最佳 CDN 节点 IP 地址发起对该资源的访问请求。
- 如果该最佳 CDN 节点已缓存该资源,则会将请求的资源直接返回给用户,此时请求结束。
- 如果该最佳节点未缓存该资源或者缓存的资源已经失效,则节点将会向源站发起对该资源的请求。获取源站资源后结合用户自定义配置的缓存策略,并将资源缓存到 CDN 节点然后返回给用户。
小结
对于静态资源而言,如图片、视频、网站中的文件(html、css、js)、软件安装包等文件,使用 CDN 技术可看到明显效果。
对于动态资源而言,如 asp、jsp、php、perl 等文件,使用 CDN 是没效果的,也就是说 CDN 的缓存加速不适用于加速动态内容(即无法缓存实时变化的动态内容)
因此,对于动态资源而言,我们可以使用全站加速的技术手段来实现(如路由优化、传输优化等)。
边栏推荐
- STM32库函数进行GPIO初始化
- [apipost] tutorial
- JMeter script parameterization
- Some Chinese character codes in the user privacy agreement are not standardized, which leads to the display of garbled codes on the web page. It needs to be found and handled uniformly
- Base64 编码原来还可以这么理解
- LeetCode_字符串_简单_412.Fizz Buzz
- threejs的控制器 立方体空间 基本控制器+惯性控制+飞行控制
- buuctf-pwn write-ups (7)
- Introduction to C language -- array
- 广州市应急管理局发布7月高温高湿化工安全提醒
猜你喜欢

Base64 编码原来还可以这么理解

使用mathtype编辑公式,复制粘贴时设置成仅包含mathjax语法的公式

Fabric. Usage of JS eraser (including recovery function)
[email protected]: The platform “win32“ is incompatible with this module."/>info [email protected]: The platform “win32“ is incompatible with this module.

【C语音】详解指针进阶和注意点(2)
![[development environment] install the visual studio community 2013 development environment (download the installation package of visual studio community 2013 with update 5 version)](/img/7b/2c471c070a3faa981f70136603495a.jpg)
[development environment] install the visual studio community 2013 development environment (download the installation package of visual studio community 2013 with update 5 version)

【NOI模拟赛】伊莉斯elis(贪心,模拟)

Leetcode - Search 2D matrix

Factal: Unsafe repository is owned by someone else Solution

Uniapp automated test learning
随机推荐
数据库连接池和数据源
taobao.logistics.dummy.send( 无需物流发货处理 )接口,淘宝店铺发货API接口,淘宝订单发货接口,淘宝r2接口,淘宝oAu2.0接口
LeetCode_滑动窗口_中等_395.至少有 K 个重复字符的最长子串
3、函数指针和指针函数
解决el-radio-group 回显后不能编辑问题
C#延时、在线程中开启定时器、获取系统时间
[untitled] leetcode 2321 Maximum score of concatenated array
MathML to latex
871. 最低加油次数 : 简单优先队列(堆)贪心题
[Space & single cellomics] phase 1: single cell binding space transcriptome research PDAC tumor microenvironment
Fabric. Usage of JS eraser (including recovery function)
taobao.trade.memo.add( 对一笔交易添加备注 )接口,淘宝店铺插旗接口,淘宝订单插旗API接口,oAuth2.0接口
Base64 编码原来还可以这么理解
3. Function pointers and pointer functions
Leetcode - Search 2D matrix
MFC 控制台打印,弹出对话框
C# 线程传参
Threejs controller cube space basic controller + inertia control + flight control
用户隐私协议有些汉字编码不规范导致网页显示乱码,需要统一找出来处理一下
报错:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.