Тестовое задание на вакансию
Системный Аналитик
Системный Аналитик
Введение
Важная часть функционала нашего личного кабинета - расчет доступных вариантов доставки по заданным пользователем параметрам: откуда / куда и массо-габаритные характеристики (см пример ниже).

Пользователь вводит все эти данные и далее осуществляется расчет по более чем 20-ти различным поставщикам. Расчет выполняется через интеграции с поставщиками. Сейчас он выполняется в многопоточном режиме внутри монолита - запускается несколько потоков в которых параллельно окрашиваются поставщики через интеграции, далее результат собирается в единый формат и по мере готовности отдается на фронт.
Задача
Нам необходимо перенести логику расчета на микросервисы. Предложите как могло бы выглядеть такое решение с точки зрения логики взаимодействия компонентов системы. С учетом следующего:
  • мы используем kafka в качестве брокера сообщений
  • у нас есть Redis в качестве кэша
  • мы уже реализовали микросервисы взаимодействия с поставщиками и выделили для них отдельные топики, на которые они подписаны. Например, versta.vendors.CDEK.Command.Calc, versta.vendors.KCE.Command.Calc и тп
Оформление результата
Полнота описания и формат описания Технического задания на ваш выбор. Мы будем оценивать не оформление, а логику предложенного решения.
Вопросы?
Если у вас есть вопросы по выполнению задания, пожалуйста задавайте их в чате hh.ru
Дополнительная информация
Информация о компании и список вакансий на HeadHunter