Cum ai obține, cu o singură interogare, lista vânzătorilor neblocați, având o tabelă cu toți vânzătorii și alta doar cu vânzători blocați?
Golang
Fațada accesează 10 servicii interne (fiecare de 100-300 ms) plus un serviciu global în China (500 ms), timpul total de răspuns fiind de aproximativ 3,5 secunde. Cum ai rezolva această problemă pentru a accelera procesarea?
Cum a fost organizată reținerea soft hold a soldurilor cu verificarea finală la confirmarea rezervării?
Aveai un singur gateway de serviciu la intrare, cu care comunicau toți partenerii (B2B)? În câte instanțe rula?
Ai întrebări pentru colegul tău?
Cum să nu mergi deloc la serviciul care va cădea sigur sau va fi inaccesibil?
Ești speriat de urmăritorul de timp? De ce?
Redis păstra datele doar în memorie sau avea fallback pe disc? Ce se întâmplă dacă Redis cade?
Dacă ai o sarcină mare, de exemplu un fișier de 10 GB cu setări pe linie, și trebuie să procesezi fiecare linie (de exemplu, să pui un punct la sfârșit), ar ajuta goroutines să accelereze această muncă?
Dacă folosiți canale pentru a colecta rezultatele de la servicii, câte canale ar fi necesare pentru a organiza acest mecanism?
Câte centre de date ați avut: unul sau mai multe?
Cum se calcula RPS-ul — pur și simplu adăugați sarcina de pe toate mânerele, sau cum?
În limbajul Go, există goroutines — fire ușoare. Poți explica cum înțelegi când trebuie să folosești o goroutine și când nu?
Cum ați implementat atomicitatea scrierii în Redis? Ce algoritm ați folosit (script Lua)?
Dacă faci o solicitare sincronă către baza de date sau un serviciu vecin, și solicitarea durează 5 secunde, ce se va întâmpla cu firul de sistem de operare pe care rulează serviciul în timp ce solicitarea este în curs?
Cum să înțelegi unde este punctul de blocaj în procesarea fișierului — dacă procesarea linie cu linie pare lentă, iar goroutine-urile procesează în buclă?
Serviciul distribuia pur și simplu date din cache sau realiza și altă logică?
Ce ai transmite în interiorul acestui canal (ce structură de date)?
Ai spus că ai un serviciu care ascultă Kafka și actualizează cache-ul în Redis, corect?
Poate ar trebui să începem să folosim goroutines pentru a crește viteza, de exemplu, de zece ori mai rapid folosind zece goroutines?