Hello! On Fri, Dec 11, 2015 at 11:23:13AM -0500, S.A.N wrote:
> > > Как понимать "не атомарны"? Может отдаться часть слайса? > > > > Модуль slice разбивает запрос к бекенду на много range-запросов, а > > при отдаче клиенту полученные ответы склеиваются. Соответственно > > если в процессе файл на бекенде поменяют - часть ответов будет от > > одного файла, часть - от другого. И вернуть клиенту что-то > > целостное станет невозможно. > > Похоже проблема в отсутствии ревалидации range-ответов бекенда, если бекенд > отдает ответ с тем же валидатором (ETag и/или Last-Modified) тогда эти > ответы валидны, если нет, нужно обновлять кеш всех range-ответов, тогда > будет гарантия валидности всех range-ответов. Ревалидация не лечит неатомарность, а лишь позволяет уменьшить временное окно, в течении которого можно наблюдать проблемы. Если ответ собирается из кусков - то в любом случае возможна ситуация, когда часть ответа уже отдана, а очередной пришедший от бекенда кусок - от другого, более нового файла. При этом смысл модуля состоит в том, чтобы не грузить лишнего, и очередной подзапрос отправляется только тогда, когда предыдущий отправлен клиенту. Т.е. для больших файлов временное окно - минуты, даже в случае отсутствии кеширования вообще. В общем, как уже было сказано, если используется slice, то файлы менять не надо. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru