Быстро ли удаляется автоматически, когда новый код отправляется на герою?

Я использовал Fastly CDN для нескольких статических ресурсов, таких как изображения и т. Д., И я хотел бы также использовать его для моего javascript и css, но я опасаюсь, что он не обновится, если я добавлю новый код и что это приведет к ошибкам.

Я знаю, что мог бы просто настроить систему для автоматической очистки этого материала, но я бы предпочел не делать этого. Основываясь на одном или двух тестах, я чувствую, что heroku обнаруживает статические изменения файлов и быстро их очищает, но я не вижу нигде, где бы говорилось, что я могу на это положиться. Кто-нибудь знает наверняка?

2 ответа

Быстро будет использовать TTL (время жизни) объекта, чтобы определить, когда нужно повторно получить объект из источника. TTL может быть установлен через заголовок Surrogate-Control: max-age, Cache-Control: s-maxage|max-age или Expires. Если файл обновляется в источнике, но срок действия TTL на серверах Fastly не истек, Fastly продолжит обслуживать старый контент. Благодаря очистке, выполняемой практически в режиме реального времени, вы можете избежать этой ситуации, добавив вызов API очистки ( https://docs.fastly.com/api/purge) в свое приложение. Когда вы нажимаете новый код, также запускайте вызов очистки. Это заставит Fastly получить новый контент по следующему запросу.

Нет, это не так. Следует Cache-Control заголовки. Вы можете использовать дактилоскопию активов для именования ваших статических файлов с помощью хеш-кода и отметки времени, поэтому каждое развертывание будет иметь новое имя файла и автоматически не будет находиться в кэше. Я не знаю, как это работает в Node, но вот как это работает в Rails и Yii:

http://guides.rubyonrails.org/asset_pipeline.html

http://www.yiiframework.com/doc-2.0/guide-structure-assets.html

Вот что быстро говорит об этом

https://devcenter.heroku.com/articles/fastly

Другие вопросы по тегам