CDN 技术详解--读书笔记-完

来源:互联网 发布:东湖高新人工智能峰会 编辑:程序博客网 时间:2024/06/14 00:32

第三章 内容缓存工作原理及实现

3.3.3 HTTP 中的Cookie和Session

  1. Cookie
  2. Session

服务器将Session ID返回给浏览器两种方法。
一种是Cookie方法
一种是URL重写方法
应用场景
Cookie 是Remember me 服务
Session ID 是想登陆信息与关键信息放入一个有session ID关联的数据库或者文件。
- 安全性 Session > Cookie
- 性能 Session < Cookie
- 时效性 Session < Cookie

3.3.4 HTTPS 安全协议 ssl

3.3.5 HTTP 协议中的缓存技术

  • Expires 头信息对控制静态图片文件缓存特别有用

3.4 Web Cache 技术实现关键点分析

  • 并发量
  • 吞吐率
  • 命中率
  • 响应时间和丢包率
    DNS解析<0.18s
    建立连接<0.15s
    重定向<0.1s
    收到第一个包 <0.2s
    图片下载时间 150kb 测试 CDN性能 1~2s
    页面总下载时间 <10s
    丢包率

3.4.2 内容缓存

  • 共享存储
  • 本地附加存储 DAS
  • 分布式文件系统服务

3.4.3 内容更新机制

Web Cache 更新 HTTP中定义或者CDN管理平台对Cache进行设置

网站缓存建议

  1. 尽量保持URL稳定
  2. 使用公共库存放每页都引用的元素,提高缓存效率。
  3. 不经常改变的页面元素可以设置较长的过期时间。
  4. 对当期设置更新一个cache可识别的。
  5. 只在必要的时候缓存Cookie
  6. 尽量避免使用POST,通常不会被Cache缓存,使用GET模式会更好。

3.4 Web Cache 协议优化

传输两层优化:
一层是针对HTTP协议实施的优化,利用HTTP协议本身的一些优化方法

  • HTTP连接聚合
  • gizp压缩;

另外一层TCP传输协议优化

  • 采用协议压缩
  • 减少广域网会话交互。

3.4.5 Web Cache 安全实现机制

  1. 访问控制
  2. 病毒防护
  3. 网络安全防护
  4. 内容加密

3.5 开源web缓存代理

Squid主页

4. 集群服务与负载均衡技术

4.1 服务器集群技术

集群分类:
1. 计算集群 MPI PVM 中间件
2. 负载均衡集群 计算任务负载和网络I/O流量负载
3. 高可用集群 心跳机制探知服务器状态

4.2 Cache 集群协同交互

Cache 服务器之间的通信可以分为
松散耦合:ICP HTCP Cache Digest Cache Pre-filing
紧密耦合: CARP hash函数划分Cache服务器集群的URL空间。

ICP 基于UDP实现
HTCP 包含http头文件信息,可变长度的消息格式,扩展Cache管理功能。监控远程Cache。 使用HMAC-MD5

4.3.1 负载均衡技术

  1. 负载均衡调度算法
    • 静态算法 轮询、加权轮询、随机、加权随机、基于源IP的Hash、基于源IP端口的Hash、基于目的IP的Hash、基于UDP报文净荷的Hash
    • 动态算法 最小连接、基于加权最小连接、最小响应时间

4.3.2 负载均衡的部署方式

  • 直接部署
  • 旁挂式部署方式
    路由交换策略,服务器定向到负载均衡设备,之后转发客户短时进行NAT转换。设备要考虑SSL加速。
  • 主备模式
  • 负载分担模式

4.3.3 服务器负载均衡

L4流 L7 内容

增加服务组的概念。
实际应用 L4和L7 结合 负载均衡先L4后L7

4.3.4 链路负载均衡

Outbound Inbound
就近链路选择算法 发送DNS报文和ICMP报文、建立TCP半开连接方法获取计算参数。如何实现:链路物理带宽、链路成本、链路延迟时间、路由跳数等。

Outbound 链路负载

  • NAT技术组网
  • 通过健康性检测。
  • 通过负载均衡调度算法。

Inbound 链路负载

  • 本地DNS服务器

4.4 开源负载均衡软件

LVS的核心是IP负载均衡,实现功能的是IPVS,负载均衡器给出虚拟IP发给用户。用户通过虚拟IP访问集群服务器。

LVS的主要特点:
1. 性能好
2. 配置简单
3. 工作稳定 LVS+Keepalived 和LVS+Heartbeat

Nginx
高性能的HTTP和反向代理服务器,也是IMAP/POP3/SMTP代理服务器。
1. 调度灵活
2. 网络依赖性低
3. 支持服务器检测。

5. 全局负载均衡工作原理及实现

5.1 全局负载均衡在CDN系统中的作用

成熟的DNS解析方式的GLSB、HTTP重定向、IP路由。

  1. 通过CNAME方式实现负载均衡

    • 别名机制
    • 轮询机制
  2. 负载均衡器作为权威DNS服务器
  3. 负载均衡器作为代理DNS服务器
    对外公布权威DNS服务器的地址注册成负载均衡器上的VIP地址。

5.2.4 负载均衡的策略判断条件信息

  1. 服务器的“健康状况”
  2. 地里区域距离 错误DNS解析不佳
  3. 会话保持
  4. 响应时间
  5. IP地址权重
  6. 会话能力阀值
  7. 往返时间(RTT,Round-Trip Time)
  8. 其他信息,包括服务器当前可用绘画书、最少选择次数、轮询

5.3 基于DNS的GSLB应用部署

  • 负载均衡策略 一个基于流量负载
    负反馈原理 Wi=P*D*(1-Di) p(调整系数) Di(差异量) D表示所有节点的标准差
  • 另外一个同时基于往返时间和流量负载
    视频网站加速 先缓存在OCS,然后将热门内容分发到POP节点

6. 流媒体CDN系统的组成和关键技术

流媒体传输协议:

  • 实时流传输协议 RTSP
  • 实时传输协议 RTP
  • 实时传输控制协议 RTCP
  • 实时消息传输协议 RTMP
  • HTTP流化协议 HTTP Streaming
    RTP 数据包没有长度限制,最大包只受下层协议的限制。
    RTP 分组

    • 有效载荷类型:检测类型
    • 序号:检测丢失
    • 时间戳: 第一个字节的采样时刻。
    • 同源标识符: 检测来源

    RTMP 传输机制
    消息块 长度一般默认128字节 可修改65536

    HTTP Streaming 服务器分片,根据用户观看与下载速度请求
    支持点播和直播,分片加密,码率切换
    H.264 TS 封装结构

7.1 动态内容加速技术

7.1 .1 业务逻辑层加速:边缘计算

7.1 .2 数据层加速:数据库复制

  1. 不感知内容的缓存
    对查询结果进行缓存,提供命中率,采用优化的查询匹配引擎。
    考虑缓存一致性—-> 多播消息、散列函数。
    使用场景:适用于重复发送相同查询要求的应用。

  2. 感知内容的缓存
    复制操作的目的是让用户可感知的响应时间,因此需要在数据副本的替换算法(HotZone算法),降低延时。

7.1.3 用户数据加速技术:用户数据复制

  1. 一般情况,一台边缘化服务器+边缘服务器不用进行用户数据复制
  2. 用户数据访问迁移
    注意:需要考虑安全保密和隐私保护。 业界方法:p3p标准。

7.2 应用加速技术

综合技术使用了负载均衡、TCP优化管理、链接管理、SSL VPN、压缩优化、智能网络地址转换、高级路由、智能端口镜像。

7.2.2 广域网加速

考虑问题:
1. 带宽问题 发送大附件的邮件、FTP文件的上传和下载、一些文件的共享。
2. 传输时延问题。 TCP速率问题
带宽浪费:高带宽和高延时。
解决问题:
1. 加大IT投入
2. 如何减少跨域广域网的数据传输量,这里主要涉及的技术数据压缩和缓存技术。
针对协议低效传输:应用层优化本身来做,预测客户端,提前发送,缓存等。
3. 应用协议工作效率低问题

数据层面的传输优化

  • 数据切片
  • 数据索引压缩
  • 数据缓存
  • 数据重构
  • 恢复

数据分段压缩

  • 数据碎片化
  • 层次化指针 ,对于重复的内容传输指针。

TCP协议优化技术
高速TCP技术
1. 自适应拥塞窗口
2. 有优先级的快速重传
3. 连接池

应用协议优化技术
部署客户端和服务端的加速设备。

7.2.3 SSL加速技术

  • SSL加速板卡 降低服务器应该有的Web事物流量。
    存在的问题:无法保持会话的持续性。负载均衡设备无法看到cookie信息。

9. CDN 的前景

分布式架构
虚拟化架构
google MapReduce
Amazon CloudFront
CDN 与P2P
两者的融合方案
控制层、网络叠加、设备层

  • 网路叠加
    提供服务时,子网内部使p2p传输方式,不能跨越,找不到CDN Cache负责从内容源获取内容。转到p2p Cache,再以p2p分发。

CDN客户设计
1. 服务
2. 平台
3. 网络覆盖
4. 技术
5. 定制

  • reference

What is a CDN

原创粉丝点击