Opowiedz więcej o pracy z Kafka: jak dokładnie przebiegała deduplikacja wiadomości?
Golang
Jakie rodzaje replikacji istnieją (synchroniczna i asynchroniczna)? Jak działa synchroniczna replikacja i jakie są jej koszty?
Opowiedz o składzie zespołu, obszarach odpowiedzialności usług i cyklu wydawniczego.
Dlaczego wybrano gRPC zamiast REST? Czy były jakieś konkretne wymagania dotyczące wydajności?
Przypadek abstrakcyjny: usługa się wyłącza (OOM kill), nie widzisz żadnych błędów, ale w podzie widzisz, że ostatni status wskazuje na brak pamięci. Jaka byłaby kolejność działań w celu diagnozy i stabilizacji usługi?
Czy odpowiadałeś za eksploatację produktu? Czy wsparcie było dla twojego zespołu? Czy alerty i metryki trafiały do ciebie?
Do czego służą transakcje w bazach danych?
Czy dodanie większej liczby konsumentów przy dużym opóźnieniu Kafka pomoże? W jakich przypadkach pomoże, a w jakich nie? Co się stanie, jeśli jest 16 partycji i 2 konsumentów?
Czy możliwe jest, że wiadomości są nierównomiernie rozłożone na partycje? Jak sobie z tym radzić?
Czy zapisywałeś wszystkie wiadomości z Kafka w osobnej tabeli? Jaki był tego sens, czy Kafka nie był wystarczający?
Czym się zajmowałeś w ostatnim miejscu pracy? Nad jakim projektem pracowałeś?
Czy na instancjach były kontenery sidecar? Czym jest sidecar?
Czy bezpośrednio współpracowałeś z Kubernetes?
Jaka jest różnica między EXPLAIN a EXPLAIN ANALYZE? Dlaczego nie należy używać EXPLAIN ANALYZE na produkcji?
Co robiłeś w takim przypadku, gdy alarm uruchamiał się przy wzroście RPS do 5000? Jak określałeś, czy to rzeczywisty wzrost obciążenia, czy problem w systemie?
Jak skalowałeś konsumentów Kafka? Na podstawie jakich kryteriów?
Dlaczego wykonano ręczny commit offset zamiast automatycznego?
Jakie dokładnie wskaźniki przepustowości były? Ile zapytań na sekundę zwykle i w szczycie?
Jeśli baza danych jest niedostępna i wykonujesz ponowne próby, czy nie będziesz nieskończenie przetwarzać tych samych wiadomości? Czy wszystkie 500 trafią do DLQ?
Opowiedz o sobie.