wildberries-l0

module
v0.0.0-...-debf52e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2022 License: MIT

README

Тестовое задание стажёра Wildberries L0

Сервис producer

  • публикует данные в канал NATS Streaming.

Сервис consumer

  • подключается и подписывается на канал в NATS Streaming;
  • получает данные и пишет в базу данных Postgres;
  • кеширует полученные данные in memory в сервисе;
  • в случае падения сервис восстанавливает кеш из базы данных Postgres;
  • поднимает HTTP сервер и выдаёт данные по UID из кеша;
  • реализован простейший интерфейс отображения полученных данных по UID.

Сервис shutdowner

  • реализует graceful shutdown.

HTTP-хендлеры

  • GET / — интерфейс отображения полученных данных;
  • GET /getStats — получение статистик (количество заказов, последние идентификаторы);
  • POST /getOrderByUID — получение заказа по уникальному идентификатору.

Конфигурирование

Может происходить с помощью флагов командной строки наравне с уже имеющимися переменными окружения:

  • флаг -a отвечает за адрес и порт запуска сервиса (переменная RUN_ADDRESS);
  • флаг -d отвечает за адрес подключения к базе данных (переменная DATABASE_URI);
  • флаг -c отвечает за значение кластера NATS Streaming (переменная STAN_CLUSTER_ID);
  • флаг -s отвечает за значение канала NATS Streaming (переменная STAN_SUBJECT).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL