Трюк со временем запуска, скры... Заметка
DZone.com Feed на русском

Трюк со временем запуска, скрытый в вашей сборке Docker

Каждый Java-разработчик, который запускает сервисы на Kubernetes, видел эту картину. Трафик резко возрастает, автоскейлер добавляет под, и все ждут. Контейнер запускается за две секунды. Приложение не готово еще двенадцать секунд. В течение этих десяти секунд ваши существующие поды поглощают дополнительную нагрузку, задержка растет, и если ситуация достаточно плохая, автоскейлер паникует и добавляет еще больше подов, которые также не готовы.Я годами относился ко времени запуска Spring Boot как к данности, как к погоде. Затем я узнал, что JVM имеет исправление для большой части этой проблемы еще с Java 12; оно прекрасно работает внутри Docker, и почти никто не встраивает его в свои образы. Это называется Class Data Sharing, сокращенно CDS, и эта статья покажет вам, как сделать так, чтобы ваш Docker-билд выполнял эту работу.