Ответ
Разрабатывал высоконагруженный микросервис для обработки платежей с использованием goroutines и каналов. Оптимизировал throughput до 10k RPS, избегая блокировок через sync.Pool и select с таймаутами.
Пример обработки воркеров:
func processPayments(jobs <-chan Payment, results chan<- Result) {
for payment := range jobs {
res, err := gateway.Charge(payment)
results <- Result{res, err}
}
}
// Запуск пула воркеров
for i := 0; i < workerCount; i++ {
go processPayments(jobsChan, resultsChan)
}
Особенность: балансировка нагрузки между goroutines и graceful shutdown через context.WithCancel.