Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

使用动态超时时间解决 CDN 超时洪峰问题

  除了两层 CDN 的方案外,还有一个使用动态超时时间直接绕过洪峰的解决方案(这个方案是我厂某高级架构师给的)。这个方案是针对秒杀设计的。由于秒杀业务的洪峰时间段是已知的,可以在这个时间段开始之前若干秒开启缓存,这个缓存时间动态地设置到活动结束的时间点上。
  讲真这个方案比双层 CDN 的方案稳定,因为它让秒杀区间的所有流量都走了缓存。但也因此无法用于持续时间很长的业务场景上,或者说这个方案就是为秒杀这种业务量身定制的。
  下面这张图描绘的是一个大致的秒杀洪峰,横向是一个时间轴。这个方案在秒杀开始前就开始缓存,到秒杀接受后才把缓存关掉。
  
  由于需要准确地知道秒杀活动的区间,所以这个方案多少会侵入一点业务(因为只有业务才知道活动开始的时间)。具体的实现是让业务 API 在秒杀开始前 n 秒开始对所有响应的内容加上带有 max-age 或 s-maxage 的 Cache-Control 响应头,具体取值通过当前时间减去秒杀活动预计的结束时间得到。
网名:
34.203.245.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^