gpt4 book ai didi

varnish - 跨多个服务器共享 Varnish 缓存

转载 作者:行者123 更新时间:2023-12-03 17:44:48 25 4
gpt4 key购买 nike

我们在负载均衡器后面有 4 个 Varnish 服务器。默认情况下,每个 Varnish 服务器都有自己的缓存。它们不共享缓存。这是一个问题,因为它需要加载特定页面的 5-6 个页面才能将其缓存在每个服务器中。

为了规避这个问题,我将 Varnish 存储从内存更改为文件。该文件存储在所有 Varnish 服务器共享的磁盘驱动器上。所有 Varnish 服务器都能够正确启动,但不知何故它们仍在使用自己的缓存。我确实确认缓存文件正在被 Varnish 写入。

知道如何解决这个问题吗?

最佳答案

我知道这个问题很旧,但供将来引用:

The file backend stores objects in memory backed by an unlinked file on disk with mmap.



(来自 https://www.varnish-cache.org/docs/4.0/users-guide/storage-backends.html)

这里的重要词是 unlinked ,这意味着该文件一旦发生就在进程之外不再可用。它仍然可以被保存在它上面的句柄 vie mmap 的创建过程使用。
从 unlink(2) 手册页:

If the name was the last link to a file but any processes still have the file open the file will remain in existence until the last file descriptor referring to it is closed.



所以简而言之:不,不能共享相同的文件后端,除此之外,目前还没有已知的方法可以在多个 Varnish 实例之间共享缓存本身(大多数现有技术都涉及链接实例以复制缓存内容,但这是复制,而不是共享)。

关于varnish - 跨多个服务器共享 Varnish 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com