Skip to content

skovtunenko/MailRuTestApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MailRuTestApp

Для запуска необходимо выполнить 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 также должен быть проверен тестами.

Продемонстрировать бенчмарк и результаты проверки производительности метода, регистрирующего события.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors