Sobes.tech
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")
}