Če pride 1000 hkratnih zahtev, ali bo ustvarjenih 1000 niti operacijskega sistema? Kaj se bo zgodilo s storitvijo v tem primeru?
Golang
Existuje fasáda, ktorá agreguje údaje z 10 služieb, každá odpovedá za 100 ms, celkovo približne sekundu. Ako by si tento problém vyriešil, aby endpoint vracal údaje rýchlejšie?
Budeš pokračovať v návšteve ostatných služieb pre údaje, ak prvý zo 11 služieb vráti chybu?
Alebo bol Redis v jednom dátovom centre a na neho sa všetci obracali?
Na základe akého princípu ste si vybrali architektúru a hranice služieb?
Ako vyriešiť problém data race, o ktorom sme hovorili?
Aké môžu byť vedľajšie účinky pri používaní gorutín na spracovanie súboru, na čo treba byť pripravený?
Bol Redis vo všetkých troch dátových centrách?
Mali ste tri dátové centrá — ako bola medzi nimi organizovaná schéma replikácie/zálohy?
Sú dátové centrá úplnými kópiami jeden druhého, alebo sa navzájom dopĺňali? Jednoducho ste smerovali prevádzku medzi nimi?
Na ktoré pole blokovania odkazujete (upresnenie ohľadom denormalizácie, vlajka is_blocked)?
A čo ak goroutine píšu do rovnakého riadku/bufferu, je taký problém možný?
Ako môžu gorutiny «unikať» (únik)?
Dogodek pride v prvo podatkovno središče iz Kafka, ga ujamejo in shranijo v Redis. Kako so ti podatki prišli v vse tri podatkovna središča?
Existujú iné spôsoby, okrem kanálov, ako organizovať prácu s goroutines?
Vo vašom životopise ste uviedli, že ste optimalizovali SQL dopyty. Ako by vyzeral plán vykonávania pre dopyt na výber neblokovaných predajcov (EXPLAIN)?
Vo vašom životopise je uvedených 50-80 tisíc RPS. Čo to bol za servis a čo robil?
Môžeš mi povedať o algoritme auditu (overovanie údajov)? Zúčastnil si sa na tom? Ako to prebiehalo?
Hovorili ste o čítacom modeli s Redisom. Bol Redis replikovaný medzi dátovými centrami?
Ak jedna zo služieb, ktorú používaš, vráti chybu, čo budeš robiť a ako to budeš spracovávať, ak je k dispozícii kanál?