![](http://webcf.waybackmachine.org/web/20210826172638im_/https://habrastorage.org/getpro/habr/avatars/5a1/84d/ec1/5a184dec1a3058169a4328c1c18dd27d.jpg)
Принимаем на работу брокера для Celery: подбор, аджаст и выкатка
- Блог компании Конференции Олега Бунина (Онтико),
- Python,
- Анализ и проектирование систем,
- Администрирование баз данных,
- Облачные сервисы
![](https://webcf.waybackmachine.org/web/20210826172638im_/https://habrastorage.org/getpro/habr/upload_files/346/370/802/346370802c81905aeedca1c0c0c0e98d.jpg)
У Яндекса много самописных сервисов для внутренних задач: Яндекс.Формы, Яндекс.Диск, трекер, календарь. Со временем их решили использовать не только внутри компании, но и за ее пределами. Так появилась платформа Яндекс.Коннект.
Большинство сервисов Коннекта построено на Python V3. В качестве web-фреймворка используется Django, реже Flask и Tornado, а новые чаще пишутся на FastAPI. Сервисы, как и базы PostgreSQL, MySQL и MongoDB, живут в облаке. В качестве очереди сообщений почти везде используется Celery с MongoDB в качестве брокера. Он и стал проблемой.
На Russian Python Week 2020 Владимир Колясинский, разработчик бэкенда сервисов платформы Яндекс.Коннект, рассказал, почему они пользовались связкой Celery MongoDB и почему пришлось отказаться от этого брокера. Он сравнил претендентов: Redis, RabbitMQ и YMQ, с их плюсами и минусами. Подробно разобрал процесс переезда на нового брокера, анализ его состояния и возможные проблемы. И у него получилась пошаговая инструкция, которая пригодится при подборе и настройке брокера. А для любителей разбираться самостоятельно под катом есть расшифровка доклада с конференции.