Pull to refresh
4
0
Александр @onmotion

Web разработчик

Send message

Смотря чего вам требуется достигнуть.
Можно настроить rate limit чтоб не долбили часто ngx_http_limit_req_module
Можно нормализовать экзотические размеры, типа 365x365 => 400x400
Можно ограничить с помощью ngx_http_secure_link_module
Ну или любую логику на lua добавить.

Не отдельный, архитектура остается типовой Nginx front + Nginx back. Фронт является балансировщиком, занимается кэшем и т.п. А бэк обслуживает само приложение + еще один upstream куда проксируются запросы ресайза.
В нашем случае много, т.к. это универсальное решение не для одного сайта.
+ время процессора будет затрачено 1 раз в сутки, дальше будет отдаваться из кэша. Да и то, даже первый ресайз происходит очень быстро.

Не вводит ли это в заблуждение и что вернет кэш другому клиенту?
Много решений для этого есть, например


background: image-set(
url('https://example.jpg?resize=400x400') 1x,
url('https://example.jpg?resize=800x800') 2x)

ну или media

Вы правы, в статье об этом упомянуто.
Тут основная прелесть в том, что вам не нужно нарезать разные размеры предварительно. Это делается на лету параметризованно. Т.е. сохраняете вы при загрузке лишь одно оригинальное изображение и выдаёте любой ресайз динамически по запросу. И можно не хранить его нигде, разве что в кэше.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity