Давным-давно.

Перво-наперво, что такое шлюз Api? Зачем нам нужны шлюзы Api и что такое микросервисы?

Давным-давно в стране под названием «Фабрика приложений» жил ботаник по имени «Монолиты», и в его должностных обязанностях было удовлетворять запросы всех остальных ботаников на ежедневной основе. Задачи монолитов заключались в том, чтобы зарегистрировать новых ботаников, дать другим ботаникам наличные, похоронить мертвых ботаников, контролировать других ботаников, гарантировать, что ботаники поженятся друг с другом, прежде чем они получат супружеские выгоды, и т. Д. Иногда (как это часто бывает) монолиты заболевали, и все страна остановилась, и все перестали работать. Однажды поднялась группа ботаников, назвала себя «Микросервисами» и попросила распределить между ними различные задачи «Монолитов», чтобы каждый из них отвечал за разные функции, выполняемые «Монолитами». Итак, когда ботаник из «микросервисов» заболел, можно было наблюдать, как его приятели работают без устали. Это было хорошо! Страна больше не замирала, когда «Монолит» не работал.

В результате мэр города («Api-Gateway») поднялся и принял закон, согласно которому любой ботаник, которому требуется доступ к микросервисам, должен пройти через него, а не обращаться к ботаникам «микросервисам» самостоятельно. Указ был подписан в законе, и мэр стал «Апи-воротами».

Монолиты, микросервисы и шлюзы API.

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

Микросервисы - это группа различных приложений или сервисов, каждое из которых выполняет разные действия по сравнению с другим сервисом, например электронная торговля может состоять из регистрационных услуг, обслуживания заказов, обслуживания клиентов, обслуживания продуктов и т. д.

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

Мы собираемся создать два разных сервиса (betaApi1 и betaApi2) и Api-Gateway (альфа-шлюз).

Теперь засучим рукава и напишем код.

BetaApiService1

Package.json

index.js

Маршруты (retrive_balance.js)

Маршруты (show_transaction_history.js)

BetaApiService2

используйте аналогичный package.json

Index.js

Маршруты (add_money.js)

Маршруты (remove_money.js).

Теперь пришло время для Api-Gate.

Используйте тот же package.json

index.js

Маршруты (token_request.js)

Маршруты (token_middleware.js)

Маршруты (remove_money.js)

Продолжение следует во второй части…