Kanal tampon boyutu seçimi backpressure sorunlarını gizler mi, nasıl karar vermeliyim?
Kanal kapasitesini worker sayısına yakın tutun, bloklamanın Kafka poll döngüsüne yansımasına izin verin, lag artınca buffer'ı değil worker'ı büyütün.
Etiket
Eşzamanlı çalışma: goroutine, kanal, kilit ve yarış koşullarının yönetimi. Bu etiketle sorulan sorular ve cevapları.
Bu etikette 5 cevaplanmış soru var.
Kanal kapasitesini worker sayısına yakın tutun, bloklamanın Kafka poll döngüsüne yansımasına izin verin, lag artınca buffer'ı değil worker'ı büyütün.
FPM'de kalıp Guzzle Pool ile başlayın, concurrency'yi 20-50'de sabitleyin; kod tabanı gerçekten async'e evrilirse AMPHP v3, yeniden mimaride Swoole.
`errgroup.WithContext`'e geçip üstüne request-level bir timeout koyun ve ctx'i her HTTP/DB çağrısına geçirin; ihmal edilen ctx, iptali sessizce öldürür.
İptalin yayılması için `r.Context()`'i her downstream çağrıya geçirin, zincirde `context.Background()` bırakmayın, side-effect'e `WithoutCancel` verin.
NumGoroutine()'i dışa açıp zirvede pprof goroutine dökümü alın, binlerce kopyalı park etmiş stack'in spawn noktasını ctx.Done()'a uydurun, goleak ekleyin.