即时消息技术剖析与实战
袁武林
微博研发中心技术专家
立即订阅
6503 人已学习
课程目录
已完结 24 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 搞懂“实时交互”的IM技术,将会有什么新机遇?
免费
基础篇 (8讲)
01 | 架构与特性:一个完整的IM系统是怎样的?
02 | 消息收发架构:为你的App,加上实时通信功能
03 | 轮询与长连接:如何解决消息的实时到达问题?
04 | ACK机制:如何保证消息的可靠投递?
05 | 消息序号生成器:如何保证你的消息不会乱序?
06 | HttpDNS和TLS:你的消息聊天真的安全吗?
07 | 分布式锁和原子性:你看到的未读消息提醒是真的吗?
08 | 智能心跳机制:解决网络的不确定性
场景篇 (4讲)
09 | 分布式一致性:让你的消息支持多终端漫游
10 | 自动智能扩缩容:直播互动场景中峰值流量的应对
11 | 期中实战:动手写一个简易版的IM系统
12 | 服务高可用:保证核心链路稳定性的流控和熔断机制
进阶篇 (10讲)
13 | HTTP Tunnel:复杂网络下消息通道高可用设计的思考
14 | 分片上传:如何让你的图片、音视频消息发送得更快?
15 | CDN加速:如何让你的图片、视频、语音消息浏览播放不卡?
16 | APNs:聊一聊第三方系统级消息通道的事
17 | Cache:多级缓存架构在消息系统中的应用
18 | Docker容器化:说一说IM系统中模块水平扩展的实现
19 | 端到端Trace:消息收发链路的监控体系搭建
20 | 存储和并发:万人群聊系统设计中的几个难点
21 | 期末实战:为你的简约版IM系统,加上功能
22 | 答疑解惑:不同即时消息场景下架构实现上的异同
结束语 (1讲)
结束语 | 真正的高贵,不是优于别人,而是优于过去的自己
即时消息技术剖析与实战
登录|注册

15 | CDN加速:如何让你的图片、视频、语音消息浏览播放不卡?

袁武林 2019-09-30
你好,我是袁武林。
上一讲,我从即时消息场景中多媒体消息的上传环节出发,介绍了业界常用的几种提升用户上传体验的优化手段。
那么这节课,我会从播放的角度出发,带你了解在浏览和播放图片、视频、语音等多媒体消息时,如何避免灰图和卡顿的问题,以及在节省流量方面,业界都有哪些比较常见的优化策略。

CDN 加速

提升用户浏览图片和播放视频体验的一个有效办法就是:让用户离资源更近。
比如说,北京的用户可以从北京的机房下载图片,而广东的用户可以从广东的节点机房来下载图片,这样让用户和资源实现物理位置上的相邻,以此降低远程访问的耗时,提升下载性能。
业界常用的一种手段,就是通过 CDN(Content Delivery Network,内容分发网络)对图片和音视频进行加速,来提升用户播放体验。
所谓的 CDN 加速技术,就是将客户端上传的图片、音视频发布到多个分布在各地的 CDN 节点的服务器上,当有用户需要访问这些图片和音视频时,能够通过 DNS 负载均衡技术,根据用户来源就近访问 CDN 节点中缓存的图片和音视频消息,如果 CDN 节点中没有需要的资源,会先从源站同步到当前节点上,再返回给用户。
CDN 下载时的访问链路你可以参考下图:
通过这种资源冗余的方式,既能显著提高用户访问的响应速度,也能有效缓解服务器访问量过大带来的对源存储服务的读写压力和带宽压力。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《即时消息技术剖析与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • clip
    给资源设置带有过期时间的访问 token,服务端经过鉴权后向 CDN 服务申请对应资源的访问 token 然后给客户端下发带有访问 token 的资源链接,客户端用这个带有 token 的链接才能在有限时间向 CDN 获取资源。如果资源链接过期可以通过上面的方式重新获取。

    作者回复: 嗯,时间戳防盗链也是一种不错的方式,大部分场景下是够用的。

    2019-09-30
    2
  • 刘丹
    现在CDN都支持鉴权吧,也就是边缘计算。用户在源站登录后,拿到一个token,让CDN检查这个token是否正确。

    作者回复: 嗯,有些cdn是支持鉴权,每次下载前先通过源站鉴权。另外,短时间的时间戳防盗链也是一个选择。

    2019-09-30
    2
  • 那时刻
    存储文件夹设置权限?

    作者回复: 这个可能不太好实现,比如群里的图片,这个群里的所有用户都有权限查看。实际上cdn通用的时间戳防盗链也是一个可选的方案 可以了解一下。

    2019-09-30
    1
  • 云师兄
    前一篇提到图片视频这类资源会通过文件传输通道与业务消息通道分开,减少传输次数,理论上业务层没有收到图片的数据流,如果要从服务端长连接推送缩略图,业务服务器需要先下载缩略图才能进行推送吧?

    作者回复: 是的,会通过长连接通道下推缩略图。

    2019-10-11
  • Geek_e986e3
    老师想问问 cdn多图片这种怎么保证权限呢?我能想到的类似mp4视频。做一个定制版的图片浏览。还有别的更优雅的方式吗?

    作者回复: 可以考虑时间戳防盗链和cdn鉴权,不过貌似cdn鉴权不是所有cdn都支持的通用功能。

    2019-10-06
  • 传输加密:hls,rc4, 图片压缩优化:WebP,渐进式JPEG, 视频编码优化:H.265,多媒体技术层出不穷,老师有这方面的书籍推荐吗

    作者回复: 抱歉,不是这方面的专家哈,乱推荐怕误导了你。

    2019-09-30
  • 第三方访问,用oauth,普通的访问,用session或cookie和token
    2019-09-30
收起评论
7
返回
顶部