100 горутин для HTTP-запросов могут быть допустимы, но лимит выбирают по ресурсам, задержкам и ограничениям получателей, а не по числу URL.
Как выбрать допустимое число одновременно работающих горутин для регулярно запускаемой программы, если список URL со временем может вырасти до тысяч? Допустимы ли 100 горутин для HTTP-запросов?
100 горутин для HTTP-запросов могут быть допустимы, но лимит выбирают по ресурсам, задержкам и ограничениям получателей, а не по числу URL.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
100 горутин для HTTP-запросов могут быть допустимы, но лимит выбирают по ресурсам, задержкам и ограничениям получателей, а не по числу URL.
Используйте bounded worker pool или semaphore, общий HTTP client, таймауты, отмену и закрытие response body. Отдельно ограничивайте запросы к одному host и частоту, если есть rate limit. Измеряйте память, соединения и ошибки при росте нагрузки. Не запускайте неограниченное число горутин только потому, что они дешевле системных потоков.