Я работал на NodeJS в течение 5 лет. Мое настоящее задание заключается в разработке микросервиса в ExpressJS.
. В архитектуре микросервиса мы знаем, что шлюз перенаправляет запросы в соответствующий микросервис, полученный от клиента. Прямо сейчас мое текущее приложение имеет 4 микросервиса. - шлюз - аутентификация - пользователь - продукт
Основная задача шлюза - принять запрос от клиента и переслать его микросервису аутентификации или другим микросервисам. Недавно я наткнулся на прокси-модули npm express -http-proxy, и он имеет такую же функцию пересылки запросов.
У меня есть 2 способа пересылки запроса на другие микросервисы.
Использование упрощенного HTTP-клиента, который перенаправит запрос со шлюза на соответствующие микросервисы. Здесь я перечислил несколько из них npm модулей.
Другой способ - использовать прокси-пакет. Я чувствовал, что express -http-proxy наиболее подходит для пересылки запроса в другой микросервис. Ниже перечислены несколько других npm модулей.
- express -http-proxy
- http-proxy-middleware
В прошлом я использовал модули request и ax ios для пересылки запроса другим микросервисам.
Сегодня я обнаружил, что express -http-proxy также является его альтернативой. Он также направляет запрос в другой микросервис. Но другие модули (http-proxy, http-proxy-middleware, node-http-proxy) более популярны, чем express -http-proxy, но они не работают должным образом.
Для пересылки запроса не только контекст, но мы также должны позаботиться об ответе или ошибке, которая возникает из микросервиса.
Я не могу решить, что является более эффективным и надежным решением для пересылки микросервиса?
Надеюсь, я объясню свою точку зрения.