Как создать API Gataway для переключения на микросервисную архитектуру - PullRequest
0 голосов
/ 01 ноября 2018

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

Мой вопрос на данный момент: есть ли простой способ реализовать такой API-шлюз? Какой будет лучший подход? Создаем его с нуля или есть какое-то бесплатное решение, которое мы можем использовать? (может Traefik решить проблему?) Что может быть первым шагом, который позволяет нам легко изолировать наш клиентский интерфейс от внутренней архитектуры?

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

ОБНОВЛЕНИЕ: Вместо того, чтобы понизить вопрос, пожалуйста, дайте мне отзыв о том, как я могу улучшить вопрос, если он не ясен или достаточно конкретен.

1 Ответ

0 голосов
/ 01 ноября 2018

Существует множество вариантов, вам почти наверняка не следует создавать свои собственные, если это не является абсолютно необходимым.

Некоторые решения очевидны в зависимости от вашей хостинг-инфраструктуры. Если вы работаете в AWS, используйте AWS API Gateway, если вы работаете в Azure, используйте Azure API Gateway, если у вас есть собственный хостинг, существует множество поставщиков услуг, которые хотели бы получить ваши деньги. Все они имеют разные преимущества / недостатки.

Похоже, вы не понимаете, какую проблему вы пытаетесь решить. Вы беспокоитесь о монетизации? Троттлинг? Аутентификация? Абстракция? Трансформация? Выяснение, какие проблемы вы пытаетесь решить, является важной частью выбора поставщика. Если вы не пытаетесь решить одну или несколько из этих проблем, вам, вероятно, не нужен шлюз API.

...