Senior
Deneyiminizden öne çıkarmak istediğiniz en büyük veya en zor bir görev oldu mu?
sobes.tech yapay zeka
AI'dan gelen yanıt
En zor görevlerden biri, Go dilinde yüksek trafikli dağıtık bir servisin geliştirilmesi projeydi; bu servis, günde milyonlarca isteği minimum gecikmeyle işliyordu. Proje kapsamında, goroutine'leri verimli yönetmek, veritabanı ile çalışmayı optimize etmek ve sistemin arızaya dayanıklılığını sağlamak gerekiyordu.
Goroutine'leri bağlam kullanarak yönetmek için örnek kod:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
ch := make(chan string)
go func() {
// çalışma simülasyonu
time.Sleep(2 * time.Second)
ch <- "sonuç"
}()
select {
case res := <-ch:
fmt.Println("Sonuç alındı:", res)
case <-ctx.Done():
fmt.Println("Bekleme süresi doldu")
}