我有一个用 PHP 构建的 CMS,它将页面列表、页面导航结构和页面内容存储在磁盘上的文件中。此应用程序托管在 haproxy 服务器后面的 Apache/php-fpm 服务器集群上。这些服务器通过 NFS 从中央文件服务器挂载 Apache DocumentRoot 目录,因此从 CMS 所做的所有更改都会写入 NFS 共享上的文件。
我发现,除非我使用该noac
选项挂载 NFS 共享,否则所做的更改可能需要 5-10 秒才能传播到集群中的所有服务器;这意味着当多个更改快速连续进行时,最终更改有时会覆盖较早的更改,因为最终更改可能会转到尚未收到较早更改的服务器。
但是,在使用noac
挂载选项时,访问者端访问内容会有2-5秒的延迟,这是完全不能接受的。
有没有办法以编程方式强制对 NFS 共享上的文件进行更改以传播到所有客户端,或者让所有客户端刷新该文件的缓存?