его брокером для celery делать? А то там конвейеризацию запросов завезли. или может есть какой то еще модуль для работы с тасками напрямую через бд ?
Бд для такого не предназначены
Я ж говорю что завезли потоковую обработку. Так что норм будет. Надо пробовать и тестить.
Причем тут заталкивание кучи запросов в один?
Заталкивание в один это другое. https://www.postgresql.org/docs/14/libpq-pipeline-mode.html
Базы плохо заменяют очереди. Они предназначены для хранения довольно редко изменяющихся данных, а в очереди сообщения появляются и пропадают. Если использовать здесь базу, в ней будут постоянно копиться записи. Даже если удалять их после отправки получателю, занятое ими место не будет отдано операционке до выполнения очередного VACUUM. Чем больше поток сообщений, тем чаще его приходится вызывать, а это блокировка. Технически сделать то можно, но профита не будет совершенно. А pipe тут ну вообще никаким боком
Как я сказал профит есть в том что например можно убрать внешний брокер из схемы. Кроме того очередь можно реализовать и без update, например счетчиком. А так же добавить партиции по дате и просто дропать старые партиции. Понятно что есть проблемы. Но я и раньше видел решения для очередей в pg вполне рабочие для небольших нагрузок.
Неужели наличие брокера в архитектуре приложения настолько проблема?
Ну вот у нас есть artemis activemq удавалось ли кому с ним срастить celery так чтоб продакшен реди?
Если он поддерживает AMQP, то по идее это возможно
https://docs.celeryproject.org/en/stable/faq.html#can-i-use-celery-with-activemq-stomp Can I use Celery with ActiveMQ/STOMP? Answer: No. It used to be supported by Carrot (our old messaging library) but isn’t currently supported in Kombu (our new messaging library). https://activemq.apache.org/components/artemis/documentation/latest/amqp.html pache ActiveMQ Artemis supports the AMQP 1.0 specification.
протоколы из коробки разные 0.9 несвоместим с 1.0 kombu не пойдет, есть только https://qpid.apache.org/proton/index.html клиент который поддерживает работу с artemis так что тут надо перепиливать Celery.
Обещают к концу года https://github.com/celery/kombu/issues/624
от души, вот это уже вариант. Буду щупать тогда как выпустят.
Обсуждают сегодня