Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 2.51 KB

backend-proxy-service.md

File metadata and controls

26 lines (17 loc) · 2.51 KB

Тестовое задание для разработчика

Есть список прокси, которые могут одновременно использоваться различными сборщиками. Необходимо спроектировать и написать сервис который будет распределять адреса прокси серверов по обработчикам по мере поступления запросов от обработчиков. Назовем его сервис доступов. При запросе прокси сборщик сообщает сервису доступов id ресурса, которые он собирается собрать. Один ресурс должен собираться одновременно только с одного адреса. Будем считать, что количество ресурсов конечно и не превышает 50.

Аттрибуты прокси, доступные для поиска:

  • country - страна
  • rpw - обработанное количество запросов за неделю
  • resourse_ids - список ресурсов для которых этот прокси сервер может использоваться

Что нужно:

  • Отдавать адрес прокси сервера по запросу и не отдавать этот адрес остальным обработчикам этого ресурса в течение переданного ttl. Требования к атрибутам прокси, которую запрашивает сборщик, могут быть произвольным в пределах имеющейся модели данных.
  • Хранить данные о том какие прокси сейчас заняты для соответствующих ресурсов in-memory из-за высокой нагрузки на сервис.
  • Иметь возможность восстановить состояние после аварийного завершения

Технические требования:

  • Любой python фреймворк кроме Django и DRF
  • Сервис работает в Docker
  • Сервис обрабатывает 50 rps

Misc

  • README с гайдом по поднятию и описанием архитектуры приложения
  • Если будет REST - docs.json с openapi документацией