Статья показывает, как в Go аккуратно батчить данные, поступающие в реальном времени, на примере обновления поля last_active_at для каждого запроса пользователя - вместо тысяч одиночных UPDATE группировать их в один UPDATE ... WHERE id IN (...).
Суть подхода в том, что публичная функция UpdateUserTimestamp отправляет ID в общий канал-очередь и блокируется, ожидая ответ от воркера через персональный буферизованный канал ReplyTo. Воркер накапливает ID в батчи заданного размера с таймаутом, чтобы в тихие периоды не копить запросы слишком долго, и обрабатывает их с управляемой конкуренцией через авторскую библиотеку rill
У автора, кажется, получилось скрыть сложность за простотой вызова
20.08.2026
Похожее
03.09.2026
Конкурентный сервер на Go
Это восьмая часть серии о конкурентных сетевых серверах, в этот раз посвященная ...
03.09.2026
Горутины повсюду
Частенько мы пишем Go-сервисы, не задумываясь о том, кто и как запускает наши го...
02.09.2026
Интересные баги
Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в рантайме Go, пр...
01.09.2026
GopherCon UK 2026
Видосы с GopherCon UK 2026 подоспели. Много всего интересного. Девид Чейни, Билл...