Cum sunt stocate datele în baza de date?
Golang
Ai întrebări pentru mine?
Explică conceptul de commit manual în Kafka
Care este diferența dintre HAVING și WHERE?
La locul de muncă actual, scrii mult cod asincron?
Ce se întâmplă cu bufferul atunci când goroutinele care scriu sunt blocate?
De ce trebuie să întrerupem contextul în structură? De ce să încheiem workerii? Dorim să întrerupem metoda Stop.
Ce se întâmpla dacă serviciul cădea și nu citea mesajele din Kafka?
Adaugi WaitGroup, pentru ce?
Cum se creează o structură de date generică (care funcționează cu orice tip de valori) în Go?
Cum este offset-ul confirmat de consumator în diferite moduri?
Indecșii compuși — ce se pune mai întâi: egalitatea sau intervalul?
Diferența dintre mașina virtuală și container
Cu ce se deosebește RIGHT JOIN de celelalte JOIN-uri? Ce este CROSS JOIN?
Vorbește-mi despre CQRS
De ce ați ales Kafka și nu alte sisteme de mesagerie (RabbitMQ, NATS)?
// Scrieți un handler asincron de sarcini ca bibliotecă // Clientul transmite un obiect (Task) cu date pentru executarea sarcinii, // în exemplul nostru vom folosi o structură goală. // Handler-ul poate procesa simultan nu mai mult de N sarcini, // și nu mai mult de X sarcini pot fi puse în coadă pentru procesare. // Dacă nu există loc în coadă, se returnează imediat o eroare clientului. // Sarcina este preluată pentru procesare dacă există procesatoare libere. // Simulăm durata procesării cu time.Sleep(5*time.Second). // De îndată ce o sarcină se finalizează, luăm următoarea din coadă. // Dacă coada este goală, așteptăm noi sarcini de la clienți. // Cu un asterisc: extindeți structura Task și obțineți stările sarcinilor printr-o solicitare separată.
Ce alte percentiles ați folosit?
Cum adăugați context metodei Stop pentru a putea întrerupe așteptarea executării sarcinilor cu timeout?
De ce ai decis să creezi o metodă separată Start pentru a porni workerii?