同步多个nginx服务器的缓存

同步多个nginx服务器的缓存

我有一个带有 nginx 的主缓存服务器。它的设置是使用 proxy_pass 和 proxy_cache。
但我想在其他位置添加更多 nginx 缓存服务器,这些服务器都包含与主缓存服务器相同的内容。
因此,我向哪个服务器发送请求并不重要。
是否可以在所有服务器上 rsync 缓存目录?

答案1

这不是一个确切的答案,因为我实际上不知道 rsync 缓存目录是否可以(您尝试过吗?得到了什么结果?),但如果您正确配置了 nginx,那么向哪个服务器发送请求就无关紧要了,如果可用,它们会从缓存中获取,如果不可用,则转到原始服务器 - 这就是缓存的全部意义所在:它们会在使用时自行填充。

除非遇到一些非常奇怪、非常特殊的情况,否则我不会过多地担心初始播种。

答案2

您无需同步多个 nginx 服务器的缓存,而是可以通过从请求中生成哈希键并将该哈希键范围分配给特定服务器,将特定类型的请求重定向到相应的 nginx 服务器。

如果您大规模实现这一目标,其中有数百万/数千个请求,并且毫秒级的延迟非常重要,那么您可以通过利用一致性散列作为方法来实现上述方法。

https://en.wikipedia.org/wiki/Consistent_hashing

相关内容