Ja ienāk 1000 vienlaicīgi pieprasījumi, vai tiks izveidoti 1000 operētājsistēmas pavedieni? Kas notiks ar pakalpojumu šajā gadījumā?
Golang
Ir fasāde, kas apvieno datus no 10 pakalpojumiem, katrs atbild 100 ms, kopā aptuveni sekundi. Kā tu risinātu šo problēmu, lai galapunkts sniegtu datus ātrāk?
Vai turpināsi doties uz pārējām pakalpojumiem datu saņemšanai, ja pirmais no 11 pakalpojumiem atgriezīs kļūdu?
Vai Redis bija vienā datu centrā, un visi uz to vērās?
Kādu principu jūs izvēlējāties arhitektūru un pakalpojumu robežas?
Kā risināt datu sacensību problēmu, par kuru mēs runājām?
Vai Redis bija visās trīs datu centros?
Kādi var būt blakus efekti, izmantojot goroutines faila apstrādei, kam jābūt gatavam?
Jums bija trīs datu centri — kā tika organizēta to replikācijas/rezerves shēma?
Datu centri bija pilnas kopijas viens otra, vai tie papildināja viens otru? Vai jūs vienkārši maršrutizējāt trafiku starp tiem?
Un ja goroutine-ši raksta tajā pašā rindā/bufferī, vai tas ir iespējams?
Kuru bloķēšanas lauku jūs domājat (skaidrojums par denormalizāciju, is_blocked karogs)?
Kā gorutīnas var 'izbēgt' (noplūde)?
Notikums ierodas pirmajā datu centrā no Kafka, mēs to noķeram un saglabājam Redis. Kā šie dati nonāca visās trīs datu centros?
Vai ir citi veidi, kā organizēt darbu ar gorutinām, ne tikai caur kanāliem?
Jūs rakstījāt savā CV, ka esat optimizējis SQL vaicājumus. Kā jūs domājat, kā izskatītos izpildes plāns vaicājumam par neblokētiem pārdevējiem (EXPLAIN)?
Vai vari pastāstīt par audita algoritmu (datu pārbaudi)? Vai tu tajā piedalījies? Kā tas notika?
Jūsu CV norādīts 50-80 tūkst. RPS. Kāds tas bija pakalpojums un ko tas darīja?
Jūs runājāt par read-model ar Redis. Vai Redis tika replikēts starp datu centriem?
Ja viens no pakalpojumiem, ko izmantojat, atgriež kļūdu, ko darīsiet un kā to apstrādāsiet, ja jums ir kanāls?