Как реализовать fan-out?

Middle
268 просмотров
AFK Offer AI

Fan-out — одну стадию pipeline запускаешь в нескольких горутинах, которые читают из одного канала. Канал сам балансирует: кто первый прочитал, тот и обрабатывает. Пример: for i := 0; i < workers; i++ { go worker(in, out) }. Каждый worker читает из in, обрабатывает, пишет в out. Это увеличивает throughput медленной стадии. Количество workers подбирай по нагрузке — для CPU-bound примерно GOMAXPROCS, для IO-bound можно больше.

Следующий вопрос

Что такое aggregate в DDD?