Этаги и серверная ферма - PullRequest
       21

Этаги и серверная ферма

2 голосов
/ 05 октября 2010

Я понял из широко известных скринкастов, посвященных масштабированию, что в какой-то момент, когда ваш сайт становится все больше и больше, прокси-кеширование - это путь. Кеширование через прокси-сервер использует etag, помимо прочего, и поскольку etags может быть более конкретным, и, возможно, стоит использовать сильный валидатор. Тем не менее, я также слышал, что в сценариях фермы серверов etag не является правильным решением, поскольку он может варьироваться в зависимости от сервера (как?)

Это кажется противоречивым, т. Е. Наиболее вероятно, что кто-то реализует кэширование прокси на основе e-tag, если они используют большие фермы серверов с балансировкой нагрузки. Так что, если в этой ситуации происходит сбой электронного тега, как они это делают? : last_modified не очень хороший вариант.

В приложении rails скажем, будет ли мой etags в действии почтового индекса

:etag => "all_posts_#{Post.count}".

будет ли это зависеть от сервера к серверу, если это ферма серверов с балансировкой нагрузки?

1 Ответ

3 голосов
/ 05 октября 2010

Обычно, когда говорят, что Etags различаются на разных серверах, это связано со статическим соединением, обслуживаемым Apache. По умолчанию Apache включает в индекс Etag индекс файла. Если файлы не находятся на общем ресурсе (например, экспортированный NFS NAS), то индекс файла будет отличаться на каждом сервере. Обычно рекомендуется настроить Apache следующим образом:

FileETag MTime Size

, но даже в этом случае возможны различия, если время модификации зависит от сервера.

Однако для нестатического контента вы генерируете Etag в своем коде, поэтому он будет одинаковым на нескольких серверах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...