Нужна ваша помощь!
Сейчас имеется такая структура:
1) Redis, выступающий в роли брокера сообщений
2) Logstash, в роли доставщика логов в файл
3) Sanic с 12 воркерами в роли router-сервиса. Берет поступающий в него запрос, отправляет в очередь Redis, отправляет в Sanic, получает ответ, отправляет в очередь Redis.
4) Sanic с 12 воркерами в роли обработчика запроса от роутера
Тестирую следующим образом:
В два потока (в одном в теле запроса генерируется json'ы c id от 1...500, во втором от 500-100) запускаю скрипт отправки post сообщения на router. Затем в файле, генерируемым logstash, по-идеи должно быть 2000 записей, где пары с одинаковыми id. НО! на самом деле часть записей отсутствует, некоторые задублены. Неразбериха полная.
В чем может быть проблема?
Прошу подсказть с тем, как создать архитектуру, способную обрабатывать несколько запросов одновременно?