Hangi veritabanları veya diğer veri depolama alanlarıyla çalıştın? Yazma ve okuma için saniyede kaç istek (RPS)?
Golang
Dağıtık sistemlerin geliştirilmesi ve desteklenmesi konusunda deneyiminiz var mı?
Depolanan en büyük veri hacmi neydi?
En yüksek yükteki hizmetin işlediği maksimum istek sayısı nedir? Doğru mu ki bu 5–8 bin istek/saniye civarında?
Hangi veritabanları ve diğer veri depolama sistemleriyle çalıştınız?
Görevler ve kariyer vektörü açısından hangi yönde gelişmekle ilgilenirsiniz?
Neden yeni teklifleri değerlendiriyorsunuz ve neden önceki şirketinizi bıraktınız?
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
Sonuç kanalını kim okur ve ardından sonucu nereye yazar ki Status yöntemi ona erişebilsin?
type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr belirli bir örneğin ip:port adresini içerir func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs, tüm dengeleme yapılabilir örneklerin adreslerini içerir func NewBalancer(addrs []string) *Balancer { data := make([]*backentry,len(addrs)) for i,addr := range addrs{ data[i] = &backentry{ backend: NewBackend(addr), inflight: 0, } } return &Balancer{backends:data} } func(b *Balancer)Invoke(ctx context.Context, req Request) (Response, error){ b.mu.Lock() entry := b.best() atomic.AddInt64(&entry.inflight,1) b.mu.Unlock() defer atomic.AddInt64(&entry.inflight,-1) return entry.backend.Invoke(ctx,req) } func(b *Balancer) best() *backentry{ var best *backentry for _,entry := b.backends{ if best == nil || atomic.LoadInt64(&entry.inflight) < atomic.LoadInt64(&best.inflight){ best = entry } } return best }
Hizmet kaç ana bilgisayar veya örnekte çalışıyordu? Kaç konteyner başlatıldı?
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
Queue metodunu uygulayın
ID ile görevin durumunu almak için Status metodunu nasıl uygulayabilirsiniz?
// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile
Queue metodunu uygulayın
// en iyi arıyoruz -- ??? // bulunamazsa, inflight ile karşılaştır