Skip to content

Chessman97/graphql-microservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание

Требования

Необходимо создать проект, состоящий из двух отдельных пакетов. Каждый пакет представляет собой микросервис, который логирует работу в консоль. Для создания сервисов требуется использовать язык Typescript + NestJS + Node.js

Сервис 1 (worker):

  • Написан с использованием NestJS
  • Транспорт по TCP
  • Имеет 2 метода:
    • DoHeavyJob Принимает на вход в качестве аргумента { count: number }, возвращает стрим из count сообщений. Каждое сообщение это произвольное число
    • DoLightJob Принимает на вход в качестве аргумента { data: number }, возвращает его же, возведённое в квадрат Сервис 2 (bff):
  • Написан с использование NestJS
  • Общается с сервисом worker по TCP
  • Предоставляет GraphQL интерфейс для внешнего пользователя
  • Имеет 1 метод:
    • DoJob Принимает на вход в качестве аргумента { count: number, type: 'heavy' } | { data: number, type: 'light' }. В зависимости от type вызывает либо DoHeavyJob либо DoLightJob метод сервиса worker. В обоих случаях ждёт, когда получит все результаты выполнения метода. Возвращает массив результатов (для light - это массив из 1 элемента, для heavy это массив из count элементов).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published