首页 > 代码库 > CDN 二级回源实现

CDN 二级回源实现

    随着Cache节点数量的增加,大量的图片回源,导致图片源站的压力在不断增加。源站load飙高、IO飙高。由于图片源站上还有其他业务,必须使源站的压力降下来:

    1、更改Cache 的回源策略(每天都有新的图片上传,也会产生大量的回源)。

      2、增加二级回源功能(上传的新图片,只有二级源站取一次图片就Ok了,其他Cache都去二级源站取图片,会降低回源的频率)。


网络架构:

    wKioL1OT2reTQtqDAAFrlELyXKg056.jpg

       > 用户首先到最近的Cache节点获取数据,如果有数据返回给用户。

       > 如果最近的Cache节点没有数据,去二级源站取数据,如果有则返回数据,并保存至Cache节点。下次再有访问,直接从Cache节点返回数据。

       > 当二级回源服务器也没有数据,才会返回源站获取数据,然后将数据保存至二级回源和请求的Cache节点上。 


性能对比

启用二级回源:

wKiom1OT5aKDnYN4AAGunNKwKbY949.jpg

直接回源:

wKioL1OT5Znyj7yVAAGJBBhdDVk731.jpg

源站Load:  wKiom1OT51vSfe4XAAMQFHwIyD4044.jpg

     通过以上截图,源站load已经降下来了。使用二级回源比原来访问速度提升了3倍多。

本文出自 “系统运维” 博客,请务必保留此出处http://davidbj.blog.51cto.com/4159484/1423732