我正在寻找用于清漆的高可用性设置的最佳设置。
具有多个 Varnish-Instance 的 Standard-Setup,每个实例都有自己的缓存存储,因此每个实例都在后端执行自己的请求。
Varnish-Cache 不能在多个服务器之间共享,即使使用了 Varnish_Storage 的 Filesystem-Option。
Varnish plus(商业产品)中似乎有一个高可用性选项——它值这个价吗?有任何 RL 经验吗?;-)
作为“介于两者之间”的东西,我发现了这种(某种)hacky 解决方案,它不会复制数据,而是将每个请求转发到其他 Varnish 实例:http : //guytabrar.co.uk/index.php/2016/ 02/04/varnish-cache-replication-with-vcl/
我错过了什么吗?更多的想法值得研究?
谢谢你的想法!卡斯腾
varnish-plus 提供了缓存复制,但我个人还没有尝试过,但根据他们的文档,他们正在启动一个复制 Varnish-SHM 的自定义守护进程。
转发每个请求,这不是一个好场景,因为您将到达后端的流量加倍 - 在某些情况下甚至会产生大麻烦(例如:将内容存储在数据库中的 POST 请求)
我们在一个安静的大型站点上使用清漆,每天 4-10TB,多年来我们一直使用的是一个简单的设置:
唯一的问题是,当我们一次重新启动所有清漆节点时 - 所以我们有一个部署脚本,它会一个接一个地重新启动,并在中间暂停 10-20 分钟,这样就不会有每个清漆的命中率为 0% 的情况速度。
为了监控命中率,我们使用这样的脚本:https : //gist.github.com/hjanuschka/221521ed0cdbd4ed47c6782640544c33
我们了解到,经过多年,实际上并不真正需要 2 个活动节点。因为清漆性能非常好,而且从来都不是任何问题的瓶颈。但事实上有一个备用是很重要的。(在硬件错误的情况下)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句