30 lines
2.0 KiB
Markdown
30 lines
2.0 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
tags:
|
|||
|
- maturity/🌱
|
|||
|
date: 2024-11-03
|
|||
|
---
|
|||
|
![[../../meta/files/images/Pasted image 20241103020227.png|600]]
|
|||
|
|
|||
|
**Шаг 1**: Клиент отправляет [[../network/HTTP|HTTP]]-запрос на API-шлюз.
|
|||
|
**Шаг 2**: API-шлюз анализирует и проверяет атрибуты запроса.
|
|||
|
**Шаг 3**: API-шлюз выполняет проверки по спискам разрешений и запретов (allow-list/deny-list).
|
|||
|
**Шаг 4**: API-шлюз взаимодействует с поставщиком идентификаций для аутентификации и авторизации.
|
|||
|
**Шаг 5**: К запросу применяются правила ограничения скорости. Если превышен лимит, запрос отклоняется.
|
|||
|
**Шаги 6 и 7**: После прохождения базовых проверок API-шлюз ищет нужный сервис для маршрутизации, сопоставляя путь запроса.
|
|||
|
**Шаг 8**: API-шлюз преобразует запрос в нужный протокол и отправляет его на [[бэкенд]] микросервисов.
|
|||
|
**Шаги 9-12**: API-шлюз обрабатывает ошибки и справляется с длительными сбоями (circuit break). Также он может использовать стек ELK (Elastic-Logstash-Kibana) для логирования и мониторинга. Иногда данные кэшируются в самом API-шлюзе.
|
|||
|
***
|
|||
|
## Мета информация
|
|||
|
**Область**:: [[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]
|
|||
|
**Родитель**::
|
|||
|
**Источник**::
|
|||
|
**Создана**:: [[2024-11-03]]
|
|||
|
**Автор**::
|
|||
|
### Дополнительные материалы
|
|||
|
-
|
|||
|
|
|||
|
### Дочерние заметки
|
|||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
|||
|
|