Pokud přijde 1000 současných požadavků, vznikne 1000 vláken operačního systému? Co se stane s službou v tomto případě?
Golang
Existuje fasáda, která agreguje data z 10 služeb, každá odpovídá za 100 ms, celkem přibližně sekundu. Jak bys tento problém vyřešil, aby endpoint vracel data rychleji?
Pokračoval bys v návštěvě ostatních služeb pro data, pokud by první z 11 služeb vrátila chybu?
Na základě jakého principu jste vybírali architekturu a hranice služeb?
Jak vyřešit problém data race, o kterém jsme mluvili?
Měli jste tři datová centra — jak byla mezi nimi organizována schéma replikace/zálohy?
Byl Redis v jednom datovém centru, a všichni na něj směřovali?
Byl Redis ve všech třech datových centrech?
Byly datová centra úplnými kopiemi navzájem, nebo se doplňovaly? Jednoduše směroval jste mezi nimi provoz?
Na které pole blokování odkazujete (upřesnění ohledně denormalizace, vlajka is_blocked)?
Jaké mohou být vedlejší účinky při používání gorutin pro zpracování souboru, na co je třeba být připraven?
A co když gorutiny budou psát do stejného řádku/bufferu, je takový problém možný?
Událost přichází do prvního datového centra z Kafka, zachytíme ji a uložíme do Redis. Jak se tyto údaje dostaly do všech tří datových center?
Jak mohou gorutiny 'uniknout' (únik)?
Váš životopis uvádí, že jste optimalizoval(a) SQL dotazy. Milyen szerinted lenne a végrehajtási terv egy nem zárolt eladó kiválasztására szolgáló lekérdezéshez (EXPLAIN)?
Existují jiné způsoby než kanály, jak organizovat práci s gorutinami?
Ve vašem životopise je uvedeno 50-80 tisíc RPS. O jakou službu šlo a co dělala?
Můžeš mi říct o algoritmu auditu (ověření dat)? Zúčastnil ses na něm? Jak to probíhalo?
Mluvili jste o read-modelu s Redisem. Replikoval se Redis mezi datovými centry?
Fasáda přistupuje k 10 interním službám (každá 100-300 ms) plus k globální službě v Číně (500 ms), celková doba odezvy je přibližně 3,5 sekundy. Jak byste tento problém vyřešili, aby se zrychlilo zpracování?