Шлюз API против серверной части для внешнего интерфейса (BFF): варианты использования, сходства и различия

Шлюз API против серверной части для внешнего интерфейса (BFF): варианты использования, сходства и различия

16 декабря 2022 г.

Всем привет. В этой статье мы рассмотрим, что такое шлюз API и как он используется для связи клиент-сервер в микросервисах . >архитектура. Мы также увидим преимущества и недостатки шаблона шлюза API. Затем мы рассмотрим шаблон под названием Backend for Front End, который является вариантом шаблона шлюза API, и завершим статью рассмотрением случаев, когда нам нужен любой из этих методов.

Приступим.

Шлюз API

Шлюз API — это сервер, который выполняет множество функций в одном месте для взаимодействия клиентов. Он также работает как обратный прокси-сервер между вашими клиентскими приложениями и внутренней архитектурой микросервисов

.

Может быть несколько клиентов, которые вызывают API-интерфейсы сервера, а шлюз API — это компонент, который направляет запросы в соответствующую микрослужбу, а затем получает ответ и отправляет его клиенту. Он управляет всеми сквозными функциями, такими как Безопасность, ведение журналов, кэширование и т. д., в одном месте, вместо того чтобы реализовывать эти функции в каждом отдельном микросервисе. Кроме того, он может консолидировать и агрегировать данные для объединения нескольких микросервисов, используя единую конечную точку для связи клиентов.

До появления архитектуры микросервисов в большинстве систем использовался шаблон Monolith, и мы могли даже решать сквозные задачи на одном или нескольких серверах. Но с микросервисами мы не можем позволить себе решать сквозные проблемы в каждом из микросервисов, которые замедлят работу с большим объемом памяти, снижающим производительность системы.

Бэкенд для внешнего интерфейса

Мы обсудили шлюз API. Этот подход хорош, если у нас есть один клиент в Интернете или на мобильном устройстве. Если наше приложение используется несколькими клиентами, такими как веб, мобильные устройства, IoT и т. д., не рекомендуется использовать один шлюз API для всех типов клиентов. Этот процесс быстро усложнится и может раздуть службу API Gateway, превратив ее в единую службу Monolith.

Лучший подход для этого типа сценария — использовать отдельный шлюз API для каждого типа клиента. Этот архитектурный шаблон называется шаблоном Backend for FrontEnd (BFF) и стал модным словечком.

Шаблон BFF — это архитектурная парадигма, вариант шаблона шлюза API, который включает в себя несколько серверных частей, предназначенных для удовлетворения требований конкретных интерфейсных приложений, таких как настольные, браузерные и собственные мобильные приложения, устройства IoT. и т. д.


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE