Работа со Stateful-нагрузкой
Вы можете использовать группы виртуальных машин для размещения приложений со Stateful-, Stateless- и комбинированной нагрузкой.
Отличие Stateful- и Stateless-нагрузки заключается в том, сохраняет ли приложение данные о своих состояниях и/или историю взаимодействия с пользователем:
- Stateful — данные о состоянии сохраняются. Примеры: RESTless-сервисы, базы данных, очереди сообщений, сервера мониторинга и логов.
- Stateless — данные о состоянии не сохраняются. Примеры: RESTful-сервисы, фронтенд веб-приложения.
Состояние приложений может храниться на дополнительных дисках ВМ группы или в независимых от группы ВМ ресурсах облака.
Хранение состояния на дисках ВМ группы
Важно
Сохранение состояния на загрузочных дисках ВМ не рекомендуется. Это накладывает существенные ограничения на работу с группой ВМ, например ВМ из такой группы нельзя свободно перезагружать, удалять, пересоздавать и масштабировать.
Вы можете сохранять состояние приложений на дополнительных дисках ВМ группы, соблюдая следующие условия:
-
Не уменьшайте размер группы.
-
Не уменьшайте размер дисков ВМ.
-
Используйте в политике развертывания значение параметра
max_expansion
(максимальное количество ВМ, на которое можно превысить целевой размер группы) равное0
. -
Не удаляйте ВМ через интерфейсы групп ВМ:
- В консоли управления
на вкладке Группы виртуальных машин. - Командой yc compute instance-group delete-instances CLI.
- Вызовом gRPC API InstanceGroupService/DeleteInstances.
Эти действия удалят дополнительный диск вместе с ВМ. При этом вы можете удалить ВМ напрямую в Compute Cloud, это не приведет к удалению дополнительного диска.
- В консоли управления
Если эти условия выполняются, группа ВМ не будет удалять дополнительные диски, даже если понадобится пересоздать какую-то ВМ. Дополнительный диск будет сохранен и подключен к новой ВМ.
Хранение состояния вне группы ВМ
Чтобы без ограничений выполнять операции с виртуальными машинами группы, на которых запущены приложения со Stateful-нагрузкой, сохраняйте состояние приложений в независимых от группы ВМ ресурсах облака:
- Управляемые базы данных.
- Файловые хранилища, подробнее см. на странице Создать группу виртуальных машин с подключением к файловому хранилищу.
- Бакеты Yandex Object Storage, подробнее см. на странице Создать группу виртуальных машин с подключением к Yandex Object Storage.