Papasakokite išsamiau apie darbą su Kafka: kaip tiksliai vyko žinučių deduplikacija?
Golang
Kokie yra replikacijos tipai (sinchroninė ir asinchroninė)? Kaip veikia sinchroninė replikacija ir kokios yra jos išlaidos?
Papaskinkite apie komandos sudėtį, paslaugų atsakomybės sritis ir leidimo ciklą.
Kodėl pasirinktas gRPC vietoj REST? Ar buvo konkrečių našumo reikalavimų?
Abstractinis atvejis: paslauga krinta (OOM kill), nematai jokių klaidų, bet pod'e matyti, kad paskutinis statusas rodo atminties trūkumą. Kokia būtų veiksmų seka diagnozuojant ir stabilizuojant paslaugą?
Ar buvote atsakingas už produkto eksploataciją? Ar parama buvo jūsų komandos reikalas? Ar įspėjimai ir metrikos jums buvo skirti?
Kam reikalingos transakcijos duomenų bazėse?
Ar pridėjus daugiau consumer'ių esant dideliam Kafka lagui, tai padės? Kokiais atvejais tai padės, o kokiais ne? Kas nutiks, jei turite 16 partition ir 2 consumerius?
Ar gali būti, kad žinutės paskirstytos nevienodai tarp partition'ų? Kaip su tuo kovoti?
Ar išsaugojote visus Kafka pranešimus į atskirą lentelę? Koks buvo šio tikslo prasmė, ar Kafka nebuvo pakankama?
Ką veikėte paskutinėje darbo vietoje? Su kokiu projektu dirbote?
Ar turėjote sidecar konteinerius instancijose? Kas yra sidecar?
Ar tiesiogiai bendravote su Kubernetes?
Kuo skiriasi EXPLAIN ir EXPLAIN ANALYZE? Kodėl nereikėtų naudoti EXPLAIN ANALYZE gamyboje?
Ką darydavote tokiu atveju, kai įspėjimas įsijungdavo, kai RPS pakildavo iki 5000? Kaip nustatydavote, ar tai buvo tikras apkrovos augimas, ar sistema turėjo problemų?
Kodėl padarėte rankinį commit offset vietoje automatinio?
Kokie buvo tiksliai pralaidumo rodikliai? Kiek užklausų per sekundę įprastai ir piko metu?
Kaip atlikote Kafka vartotojų mastelio keitimą? Pagal kokius kriterijus?
Jei duomenų bazė nėra pasiekiama ir bandote pakartotinai, ar neperdirbsite amžinai tų pačių pranešimų? Ar visi 500 eis į DLQ?
Papaskinkite apie save.