Введение в микросервисы в Nest
Один процесс NodeJS тянет и страницы, и внутренние вычисления: сбой или перезапуск останавливает всё сразу, а масштабировать можно только целиком, хотя нагрузка на разные части растёт по-разному.
Микросервис в Nest - это
отдельное приложение на том же
фреймворке, которое слушает не
HTTP адреса, а канал сообщений.
Пакет @nestjs/microservices
подключает транспорт: сначала
разберём TCP между процессами
на одной машине, в конце раздела
тот же обмен через Redis.
HTTP клиент остаётся привычной точкой входа: сервис внутри страницы шлёт запрос по каналу, удалённый класс принимает шаблон сообщения, выполняет работу с массивом в памяти и при необходимости возвращает результат. События идут без ожидания ответа. Гибрид объединяет HTTP и канал в одном процессе, если отдельный узел пока не нужен.
Дальше поднимем TCP слушатель отдельно от веб порта, настроим клиента через модуль регистрации, опишем обработчик на стороне слушателя, ответ по запросу, сигнал без ответа, общий запуск двух режимов и перенос транспорта на локальный Redis.