@sql.academy: Очередь задач в Postgres без Kafka — один запрос заменяет брокер в 90% случаев. Типичная схема: один сервис создаёт задачи (письма, отчёты), пять воркеров их разбирают, а между ними посредник. Обычно сразу ставят Kafka или RabbitMQ. Но Postgres, который и так уже есть в проекте, сам умеет быть очередью. Ловушка наивной реализации: запускаешь пять воркеров — и все хватают одну и ту же строку, письмо уходит пять раз. Повесишь обычный FOR UPDATE — дубли уйдут, но воркеры встанут в очередь друг за другом, и параллельность умрёт. Решение — одно слово: SKIP LOCKED. SELECT … FOR UPDATE SKIP LOCKED значит «строка занята? не жди, бери следующую свободную». Каждый воркер забирает свою задачу: без дублей, без блокировок, без брокера. Бонус транзакции: упал воркер на полпути — ROLLBACK вернёт задачу в pending, и она сама уйдёт в повтор. Ни одна задача не теряется. Сохрани, чтобы не поднимать Kafka ради фоновых задач 🔖 Больше SQL-задач уровня бигтеха — на sql-academy.org #sql #postgresql #backend #kafka #базыданных

SQL Academy
SQL Academy
Open In TikTok:
Region: AT
Monday 22 June 2026 09:55:50 GMT
2826
179
5
21

Music

Download

Comments

mini_fed1
Gigachad :
То есть вместо другого сервиса вы предлагаете нагружать больше базу данных? Я думаю, это не очень хорошая идея
2026-06-22 10:09:10
7
chmo.ebanoe2007
Волосатое стекло :
Кафка это не задачи. Между стримингом и очередями большая очередь
2026-06-22 09:57:58
3
arutemu64
Arutemu64 :
Бонусом ещё и Outbox получается
2026-06-22 12:11:31
0
abrubokdavinchi
Eugene :
Постгрес вообще крутая вещь, много сервисов можно заменить им, а даже если какого-то функционала нет, то есть много полезных расширений
2026-06-22 11:14:49
0
vaxxel
leo :
Задача занята до commit. Лицо пула коннектов представили?
2026-06-22 12:20:48
0
To see more videos from user @sql.academy, please go to the Tikwm homepage.

Other Videos


About