Для запуска необходимо выполнить run.sh, далее:
Добавляем события типа A:
POST http://localhost:8080/events
Content-Type: application/x-www-form-urlencoded (Важно!)
type=AИ получаем статистику
GET http://localhost:8080/statПорт и другие конфигурации в конфигe config.yaml (не стал усложнять и прокидывать ENV для докера) но работают из коробки
Реализовать REST апи приложение с двумя методами:
-
Запись события определенного типа. Считаем, что события фиксированные и могут условно называться: a, b, c. Приложение должно записывать в любую удобную БД факт и время наступления события.
-
Получение кол-ва событий каждого типа. За указанный интервал времени должен возвращаться json вида:
{"a": 100, "b": 200, "c": 0}
Приложение должно обеспечить throttling регистрируемых событий. В один момент времени приложение должно принимать не более N запросов на регистрацию события. Если этот порог превышен, то выдавать http ответ 509 Запуск приложения в докере
Обеспечить тестирование приложения таким образом, чтобы была полностью “замокана” функциональность работы с базой (те для проведения тестов не требовалась физически поднятая БД)
throttling также должен быть проверен тестами.
Продемонстрировать бенчмарк и результаты проверки производительности метода, регистрирующего события.