У меня есть CMS, встроенная в PHP, которая хранит список страниц, структуру навигации по страницам и содержимое страниц в файлах на диске. Это приложение размещено на кластере серверов Apache / php-fpm, которые находятся за haproxy-сервером. Эти серверы монтируют каталог Apache DocumentRoot через NFS с центрального файлового сервера, поэтому все изменения, сделанные в CMS, записываются в файлы на общем ресурсе NFS.
Я обнаружил, что, если я не смонтирую общий ресурс NFS с параметром noac
, внесенные изменения могут занять до 5-10 секунд для распространения на все серверы кластера; Это означает, что когда несколько изменений вносятся в быстрой последовательности, последнее изменение иногда перезаписывает более ранние изменения, потому что последнее изменение может перейти на сервер, который еще не получил более ранние изменения.
Однако при использовании опции монтирования noac
задержка доступа к контенту на стороне посетителя составляет 2-5 секунд, что совершенно недопустимо.
Есть ли способ принудительно принудительно изменить файл в общей папке NFS, чтобы распространить его на всех клиентов или заставить все клиенты очистить кэш этого файла?