Должен ли API-шлюз быть связан / не связан с бизнес-логикой - PullRequest
0 голосов
/ 17 июня 2019

Мы пытаемся создать API-шлюз перед нашим приложением (мы можем разделить приложение на микро-сервисы как можно скорее), и мы сталкиваемся с некоторыми проблемами.

1 - различные типы API.

В нашем приложении есть два вида API, большинство из которых мы будем использовать сами (вход / выход пользователя, добавление / удаление новостей), мы называем их Self-used API здесь. И некоторые из API будут разрешены для использования третьей стороной, мы называем их Open API здесь.

Должны ли они все пройти через шлюз?

2 - другая аутентификация

Самостоятельно используемый API может потребовать, чтобы пользователь выполнил вход в систему или иметь соответствующие разрешения, Open API потребует, чтобы стороннее приложение получило ключ, который мы будем использовать для идентификации и ограничения частоты запросов.

Должны ли все виды аутентификации выполняться в шлюзе? Если да, то Самостоятельная аутентификация API-интерфейса связана с бизнесом, означает ли это, что этот шлюз API-интерфейса не может использоваться другим приложением?

Кроме того, сторонний разработчик создаст свое приложение и получит ключ назад, он также может обновить / удалить приложения (что-то вроде Google API Console).

Я не уверен, стоит ли это ставить в шлюзе или другом микро-сервисе. ИМО, я предпочитаю помещать эти функции в новую услугу, но проверка и ограничение скорости выполняются в шлюзе, то есть для каждого запроса шлюз должен запрашивать пользователя, ограничение скорости и другую информацию по ключу из службы, это снова сделает ворота связанными с бизнесом.

1 Ответ

0 голосов
/ 17 июня 2019

Существует довольно много способов реализации шлюза API. Вы можете использовать разные конечные точки с одним шлюзом API. Вот несколько ссылок, которые имеют отношение

Блог без сервера "Как развернуть несколько микро-сервисов в одном домене API с помощью Serverless" https://serverless.com/blog/api-gateway-multiple-services/

Nginx «Вам действительно нужны разные виды шлюзов API? (Подсказка: нет!)» https://www.nginx.com/blog/do-you-really-need-different-kinds-of-api-gateways-hint-no/

Sentialabs.io "Типы Amazon API Gateway, варианты использования и производительность" https://www.sentialabs.io/2018/09/13/API-Gateway-Types-Compared.html

Часто задаваемые вопросы по AWS API Gateway https://aws.amazon.com/api-gateway/faqs/

Подумайте о типах функций, которые вы пытаетесь реализовать с помощью своего подхода, и о том, как API Gateway поможет вам в их решении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...