![异步方式缓存请求](https://linux22.com/image/760041/%E5%BC%82%E6%AD%A5%E6%96%B9%E5%BC%8F%E7%BC%93%E5%AD%98%E8%AF%B7%E6%B1%82.png)
答案1
Varnish Web 缓存默认会执行此操作 - 这称为请求合并或折叠。要了解更多信息,请查看 -https://info.varnish-software.com/blog/request-coalescing-and-other-reasons-to-use-varnish-as-an-origin-shield
我们会压缩请求,这样您的设置就不会出现这种情况。内容分发中的大坏狼是所谓的“惊群效应”,由大量请求同时到达而引发。想想黑色星期五之类的事情,但是对于 HTTP 请求,系统会被淹没,并完全阻塞传入流量。它要么慢得像爬行一样,要么完全崩溃。实际上,这种情况通常发生在大型在线活动中,例如奥运会、足球比赛,或者黑色星期五。
但是,这种流量通常具有很高的可缓存性,而 Varnish 实现了请求合并(或折叠)以解决这一问题。这个想法非常简单:如果 20 个用户同时请求相同的内容,则只从源站获取一次数据。这其中有不少有趣的技术细节,但今天我不会让你厌烦这些,别担心。重要的是 Varnish 会为您透明地完成所有艰苦的工作,这样惊群就不会践踏您的源站。
这描述了可能的代码解决方案(使用不再积极开发的 Netflix/Hystrix):