CDN 技术研究——Cache集群通信

CDN 技术研究——Cache集群通信


Cache 集群通信

Cache 集群通信可以分为松散耦合和紧密耦合两种方式,典型代表:

  • 松散耦合

    • ICP
    • HTCP
    • Cache Digest
    • Cache Pre-filling
  • 紧密耦合

    • CARP

ICP

RFC 2186 Internet Cache Protocol

ICP 一般使用 UDP 协议进行承载,用于 Cache 服务器之间相互查询资源信息,应答中包含命中(hit)或者失效(miss)信息。

不包含 HTTP 中资源相关的头(如访问控制,缓存指示),因此命中的情况下,使用 HTTP 获取资源时仍可能出现失败

HTCP

RFC 2756 Hypertext Caching Protocol

HTCP 可以使用 UDP 和 TCP 协议进行承载,UDP 必须支持,TCP 主要用于协议调试。与 ICP 不同,HTCP 请求和应答中可以包含完整的 HTTP 头文件,避免命中 Cache 的情况下使用 HTTP 获取资源失败问题

HTCP 包含:

  • 头信息:消息长度,协议版本
  • 数据:HTCP 协议中的具体内容
  • 认证:可选,一般选用 HMAC-MD5 共享密钥认证

Cache Digest

Cache 服务器将内容通过摘要算法生成本 Cache 服务器的 Cache 内容信息摘要文件

其它 Cache 服务器通过推或拉的方式获取该摘要文件。当外部请求资源时,Cache 服务器可以通过摘要文件判断资源在哪台 Cache 服务器上

为防止摘要文件被篡改,一般使用拉的方式从相邻 Cache 服务器获取 Cache 信息摘要文件

Cache Pre-filling

使用 IP 多播网络向多播组中的所有 Cache 服务器推送 Cache 内容,从而实现集群中各台服务器保存内容的同步。

目前没有统一标准,基于实际场景自行开发

CARP

Cache Array Routing Protocol,是一个分布式的缓存协议

为集群定义一张 Cache 服务器阵列成员表,以及用于向 Cache 服务器上分发缓存 URL 信息的哈希函数。通过对 URL 进行哈希运算,可以定位 URL 对应的资源在哪台 Cache 服务器上

这种方式实际就是通过对 URL 的 Hash 运算决定资源存放的位置。和一致性 Hash 算法思路一样,一致性 Hash 可以解决中节点变化导致 Hash 命中率下降问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值