Катим в прод | Александр Калыргин
06.02
🚀 В чем отличие Reverse Proxy от API Gateway?
Секция: Интеграции/HTTP/REST 👣 Востребованность на собесе: Редко ☁️
Краткий ответ: API Gateway включает в себя функциональность Reverse Proxy и предоставляет множество дополнительных возможностей.
Разберем подробнее каждый из паттернов 🔥
◀️ Reverse Proxy
В начале XX века телефоны подключались к телефонной станции, где работали операторы. Когда человек поднимал трубку, то его соединяли с оператором. Он сообщал с кем хочет поговорить и оператор вручную соединял его, вставляя штекер в нужное гнездо на коммутаторе. Такая схема хорошо описывает принцип работы Reverse Proxy.
Reverse Proxy — это сервер-посредник, который принимает входящие запросы и перенаправляет их на один или несколько серверов, скрывая их реальные адреса.
⚙ Обычно у Reverse Proxy выделяют следующие задачи:
🔘 Балансировка нагрузки: распределение трафика между несколькими серверами для повышения производительности и отказоустойчивости. 🔘 Кэширование: хранение часто запрашиваемых данных для ускорения ответов. 🔘 SSL/TLS проверки: разгрузка внутренних серверов от задач шифрования соединений. 🔘 Скрытие инфраструктуры: клиент видит только IP-адрес proxy-сервера, а не внутренних серверов.
🔀 API Gateway
Представьте, что вы заходите в банковское приложение на страницу баланса. Ваш запрос сначала проходит через API Gateway, который проверяет авторизацию, а затем отправляет подзапросы сразу к нескольким микросервисам: один возвращает информацию о балансе, другой — о последних транзакциях, третий — о текущих предложениях банка. После этого API Gateway объединяет данные в единый ответ, который возвращается пользователю.
API Gateway — это более функциональный посредник, который не только перенаправляет запросы, но и выполняет дополнительную обработку.
⚙ Что умеет API Gateway сверх функций Reverse Proxy:
🔘 Агрегация данных: сбор информации из нескольких микросервисов для формирования единого ответа. 🔘 Авторизация и аутентификация: проверка прав доступа клиента к конкретным ресурсам. 🔘 Ограничение скорости (Rate Limiting): защита от перегрузки за счет контроля количества запросов. 🔘 Трансформация данных: адаптация запросов и ответов, например, изменение формата данных или объединение нескольких запросов в один. 🔘 Логирование и мониторинг: отслеживание статистики использования и выявление проблем.
⚡ Когда что использовать?
🔘 Reverse Proxy: подходит, когда требуется простая маршрутизация, балансировка нагрузки и базовая безопасность. Подойдет как для сложных систем, так и для одно-серверных. 🔘 API Gateway: оптимальный выбор для архитектур с множеством микросервисов, когда нужно централизованно управлять аутентификацией, ограничением скорости, трансформацией данных и т.п.
Если у вас есть вопросы или хотите поделиться опытом, пишите в комментариях) ⬇
еще контент в этом сообществе
еще контент в этом соообществе
Катим в прод | Александр Калыргин
06.02
войдите, чтобы увидеть
и подписаться на интересных профи