Stateful-приложение — это система, которая сохраняет данные о состоянии между запросами. Такие приложения знают, что произошло до этого: сессия пользователя, прогресс операции, изменения в базе — всё сохраняется и используется при следующих обращениях.
В отличие от stateless-сервисов, здесь критично наличие постоянного хранилища. В Kubernetes такие приложения, как правило, используют Persistent Volume для сохранения информации при перезапуске подов или переносе на другой узел.
Примеры stateful-систем:
– базы данных (PostgreSQL, MongoDB),
– системы очередей (RabbitMQ, Kafka),
– CRM, ERP, финансовые и логистические платформы, где нельзя терять состояние и историю операций.
Stateful-архитектура требует особого подхода к масштабированию, резервному копированию и обновлению. Потеря состояния может привести к сбоям в бизнес-процессах, поэтому такие приложения разворачиваются с учётом отказоустойчивости, репликации и хранения данных.
Разделение на stateful и stateless помогает проектировать облачные решения с учётом требований к данным и доступности — от простых API до сложных корпоративных систем.