Статья показывает, как в Go аккуратно батчить данные, поступающие в реальном времени, на примере обновления поля last_active_at для каждого запроса пользователя - вместо тысяч одиночных UPDATE группировать их в один UPDATE ... WHERE id IN (...).
Суть подхода в том, что публичная функция UpdateUserTimestamp отправляет ID в общий канал-очередь и блокируется, ожидая ответ от воркера через персональный буферизованный канал ReplyTo. Воркер накапливает ID в батчи заданного размера с таймаутом, чтобы в тихие периоды не копить запросы слишком долго, и обрабатывает их с управляемой конкуренцией через авторскую библиотеку rill
У автора, кажется, получилось скрыть сложность за простотой вызова
20.08.2026
Похожее
20.08.2026
KV на S3
Статья разбирает, как построить key-value базу данных, у которой основным слоем ...
17.08.2026
Go идеален для AI
В эпоху ИИ-помощников узкое место разработки сместилось с написания кода на его ...
14.08.2026
Soppo
Пятничный язык программирования! Я про него уже писал, но он продолжает развиват...
12.08.2026
Typescript Defer
Автор экспериментировал с добавлением оператора defer из Go в компилятор TypeScr...