清漆的最佳高可用性设置

时间:2018-04-15 23:20:42

标签: varnish high-availability

我正在寻找最佳的高可用性设置 - 为清漆设置。

标准设置有多个Varnish-Instance,每个实例都有自己的缓存存储,所以每个实例都在后端自己做请求。

即使使用了Varnish_Storage的Filesystem-Option,Varnish-Cache也无法在多个服务器之间共享。

在Varnish plus(商业产品)中似乎有一个高可用性选项 - 是否物有所值?任何RL体验吗? ; - )

作为“介于两者之间”的东西,我找到了这种(某种)hacky解决方案,它不会复制数据,而是将每个请求转发给其他Varnish实例:http://guytabrar.co.uk/index.php/2016/02/04/varnish-cache-replication-with-vcl/

我错过了什么?更值得研究的想法?

感谢您的想法! 卡斯滕

1 个答案:

答案 0 :(得分:0)

varnish-plus提供缓存复制,但我个人还没有尝试过,但根据他们的文档,他们正在推出一个复制Varnish-SHM的自定义守护程序。

转发每个请求,并不是一个很好的场景,因为你加倍到达后端的流量 - 在某些情况下甚至会产生很大的麻烦(例如:在数据库中存储东西的POST请求)

我们在一个安静的大型网站上使用清漆,每天4-10TB,以及我们多年来使用的是一个简单的设置:

唯一的问题是当我们一次性重新启动所有清漆节点时 - 所以我们有一个接一个地重新启动的部署脚本,并在两者之间暂停10-20分钟,因此没有任何情况下每个清漆都在0%的命中率。

要监控点击率,我们使用这样的脚本:https://gist.github.com/hjanuschka/221521ed0cdbd4ed47c6782640544c33

多年以后,我们学到了什么,实际上并不需要2个活动节点。因为清漆表现非常好,从来都不是任何问题的瓶颈。但实际上有一个待机很重要。 (如果出现硬件错误)