Почему ваш Docker-образ весит 1.2 ГБ и что с этим делать
Разбираемся, как multi-stage сборки, правильный выбор базового образа и .dockerignore уменьшают размер контейнера в 10 раз без потери функциональности.
Персональный блог о бэкенде, DevOps и вещах, которые ломаются в пятницу вечером.
Разбираемся, как multi-stage сборки, правильный выбор базового образа и .dockerignore уменьшают размер контейнера в 10 раз без потери функциональности.
GIN, GiST, BRIN — какой индекс выбрать для полнотекстового поиска, геоданных и временных рядов. Реальные бенчмарки на таблице в 40 млн строк.
Читать далееCron работал 50 лет и будет работать дальше, но systemd-таймеры дают логирование через journalctl, зависимости между задачами и нормальную обработку ошибок из коробки.
Гайд по диагностике: heapdump, clinic.js, Chrome DevTools. Три самых частых паттерна утечек и примеры из продакшена.
Читать далееlimit_req_zone + burst + nodelay — три директивы, которые защитят API от брутфорса. Настраиваем лимиты по IP, по эндпоинту и по заголовку Authorization.