Files
digital-garden/dev/architecture/Stateless Service.md
2025-01-17 16:55:52 +03:00

33 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- Stateless
- Stateless-сервисы
tags:
- maturity/🌱
date: 2025-01-17
---
**Stateless-приложения** — это приложения или сервисы, которые обрабатывают каждый запрос как независимое событие, не полагаясь на сохранение данных между запросами. Вся необходимая информация для выполнения запроса должна передаваться в рамках самого запроса.
**Преимущества:**
- [[Масштабирование информационной системы|Масштабируемость]]: Простота [[highload/Горизонтальное масштабирование|горизонтального масштабирования]] за счет отсутствия необходимости синхронизации состояния между серверами.
- **Отказоустойчивость**: Выход из строя одного сервера не влияет на другие. Пользователь может обратиться к любому серверу в кластере, и запрос будет обработан корректно.
- **Упрощенное управление**: Легче деплоить и управлять, так как не требуется репликация состояния.
- Совместимость с [[highload/Балансировка нагрузки|балансировкой нагрузки]]: Подход хорошо интегрируется с алгоритмами балансировки, такими как Round Robin или Least Connections.
**Недостатки**
- **Необходимость внешнего хранилища**: Для хранения состояния используются базы данных, кэши (Redis, Memcached) или другие системы. Это может увеличить задержки при доступе к данным.
- **Более сложные запросы**: Поскольку сервер не помнит пользователя, клиент должен передавать всю необходимую информацию в каждом запросе (например, токены аутентификации, данные контекста).
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]
**Родитель**::
**Источник**::
**Создана**:: [[2025-01-17]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->