Size: a a a

2020 June 22

O

Oleg in Airflow
Ну да, оркестрация и мониторинг
источник

M

Mikhail in Airflow
тут у товарища проблема не в нагрузке, а в том что надо задачи динамически создавать
источник

GG

George Gaál in Airflow
Mikhail Lopotkov
Кстати, про "пухнет"
Очередь задач у нас на postgresql реализована. И уже видимо приближаемся к началу возникновения проблем, но пока еще норм. Задумались так же посмотреть на что-то готовое.

Celery (rabbitmq) покрывает не все потребности в очереди. Т.е. как доставка задач до воркеров - ок.
А вот планирование (как описал выше), каждая задача после выполнения, откладывается на некоторое время для повторного выполнения (определяется бизнес-логикой).
В очереди порядка 5-7 млн. задач. В день выполняется 200-300 т. задач.
Может кто-то посоветует что можно попробовать.
Основные требования: распределенная очередь (можно запускать много инстансов воркеров на разных серверах на один тип задач), приоритеты (у каждой задачи 2-3 уровня приоритета). Собственно наверно все, из важных требований.
Пока идея такая, что сделать свою очередь на postgres, с партицированием по типам задач и шардингом при необходимости. (текущая реализация не распределенная, можем запускать на один тип задач, только воркеры с одного инстанса).
celery != rabbit
источник

GG

George Gaál in Airflow
понимаешь в чем дело....
источник

GG

George Gaál in Airflow
rabbit, kafka, pulsar - это специализированные очереди
источник

M

Mikhail in Airflow
> каждая задача после выполнения, откладывается на некоторое время для повторного выполнения
celery умеет
источник

ML

Mikhail Lopotkov in Airflow
George Gaál
понимаешь в чем дело....
это понятно, я про то, что неподоходит именно rabbitmq (celery вроде как чаще с ним используют)
источник

GG

George Gaál in Airflow
простую очередь из говна можно поверх k/v или бд сделать - redis, pg
источник

GG

George Gaál in Airflow
celery - это все-таки штука поверх рабита
источник

GG

George Gaál in Airflow
именно для задач
источник

VS

Vladislav 👻 Shishkov... in Airflow
Mikhail Lopotkov
это понятно, я про то, что неподоходит именно rabbitmq (celery вроде как чаще с ним используют)
Почему?
источник

GG

George Gaál in Airflow
Т.е. тебе как будто надо взять кафку или пульсар, в них нарезать нужные тебе топики и сущности
источник

GG

George Gaál in Airflow
а поверх реализовать аналог селери для менеджмента тасок
источник

GG

George Gaál in Airflow
я себе вижу это примерно так
источник

M

Mikhail in Airflow
Mikhail Lopotkov
Кстати, про "пухнет"
Очередь задач у нас на postgresql реализована. И уже видимо приближаемся к началу возникновения проблем, но пока еще норм. Задумались так же посмотреть на что-то готовое.

Celery (rabbitmq) покрывает не все потребности в очереди. Т.е. как доставка задач до воркеров - ок.
А вот планирование (как описал выше), каждая задача после выполнения, откладывается на некоторое время для повторного выполнения (определяется бизнес-логикой).
В очереди порядка 5-7 млн. задач. В день выполняется 200-300 т. задач.
Может кто-то посоветует что можно попробовать.
Основные требования: распределенная очередь (можно запускать много инстансов воркеров на разных серверах на один тип задач), приоритеты (у каждой задачи 2-3 уровня приоритета). Собственно наверно все, из важных требований.
Пока идея такая, что сделать свою очередь на postgres, с партицированием по типам задач и шардингом при необходимости. (текущая реализация не распределенная, можем запускать на один тип задач, только воркеры с одного инстанса).
источник

GG

George Gaál in Airflow
и получишь нормальное масштабирование тогда - потому что редис, постгрес и рабит масштабируются весьма плохо
источник

GG

George Gaál in Airflow
(мы можем зарубиться по этому вопросу, но не думаю, что следует)
источник

ML

Mikhail Lopotkov in Airflow
George Gaál
а поверх реализовать аналог селери для менеджмента тасок
ну т.е. самому? ничего из готовых решений нет?
источник

SG

Sergey Gavrilov in Airflow
Mikhail
я думаю имеется в виду система оркестрации и исполнения задач а не бд
Да я намекаю на то, что даже использование как очереди Постгри, отлично справится с такими масштабами
источник

M

Mikhail in Airflow
George Gaál
Т.е. тебе как будто надо взять кафку или пульсар, в них нарезать нужные тебе топики и сущности
зачем нужна кафка на 2 сообщения в секунду?
источник