В работе ведется много дискуссий о том, как будут отключены наши службы, когда они работают в группе автоматического масштабирования.Основная проблема - позволить службам выполнять некоторые задачи до завершения работы экземпляра.Например, если я добавляю метод destroy к сервису Spring в Java, разумно ли ожидать, что этот метод будет вызван до завершения экземпляра?
<bean class="com.github.moaxcp.service.Service" destroy-method="destroy">
В этом случае Service
прекратит прием данных и сохраниттекущее состояние до s3.
Или что делать, если есть сценарий выключения systemd, который должен быть запущен до завершения экземпляра.В этом случае отправьте все оставшиеся журналы на s3.
В руководстве по автоматическому масштабированию указано, что при выполнении политики масштабирования EC2 выбирается и завершается.Означает ли это, что экземпляр не завершается корректно?Смогут ли наши службы завершить некоторые задачи до завершения работы экземпляра?
Жизненный цикл EC2 дает некоторые подробности о том, что делает завершение.Сначала он закрывает экземпляр, а затем завершает работу.В этом случае службы могут быть в состоянии завершить некоторые задачи до того, как их остановят.
Из документации кажется, что, когда экземпляр EC2 завершается напрямую, он корректно завершает работу, но когда он завершается ASG, он будетне.Это правда?Есть ли документация об этом поведении?