👣 Здоровая конкуренция в Go. Главное не перехитрить самого себя



Вот неплохая статья, которая обсуждает параллельные вычисления на одном процессоре и масштабирование с ограничением количества одновременных запросов.

Рекомендуется использовать первый паттерн для выполнения параллельных вычислений без ограничений с использованием errgroup.



Если возможен бесконтрольный рост удаленных запросов, следует ограничить одновременное выполнение и подобрать лимит опытным путем.

Ну и для ускорения сложных вычислений можно использовать runtime.NumCPU в качестве лимита для распараллеливания на все ядра процессора.



📎 Статья



@golang_interview