Go

Microservices

Architektura usług, discovery, komunikacja, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing

24 pytań z rozmów·
Senior
1

Jaka jest główna różnica między architekturą monolityczną a architekturą microservices?

Odpowiedź

W architekturze microservices aplikacja jest dekomponowana na niezależne usługi, które mogą być rozwijane, wdrażane i skalowane osobno, w przeciwieństwie do monolitu, gdzie cały kod znajduje się w jednym procesie. Każdy microservice ma własną bazę danych i komunikuje się przez API. Umożliwia to lepszą skalowalność, odporność i elastyczność technologiczną, ale wprowadza większą złożoność operacyjną.

2

Jaka jest główna rola service discovery w architekturze microservices?

Odpowiedź

service discovery umożliwia usługom dynamiczne lokalizowanie się nawzajem bez zahardcodowanej konfiguracji. Usługi rejestrują się w registry (Consul, etcd, Eureka) ze swoim adresem IP i portem. Klienci odpytują registry, aby uzyskać dostępne instancje. Ułatwia to skalowanie horyzontalne, ciągłe wdrażanie i odporność w razie awarii instancji.

3

W architekturze microservices, który pattern zarządza spójnością danych rozproszonych bez transakcji ACID?

Odpowiedź

Pattern Saga zarządza spójnością danych rozproszonych poprzez sekwencję transakcji lokalnych. Każda usługa wykonuje swoją transakcję i publikuje zdarzenie. Jeśli krok się nie powiedzie, transakcje kompensujące cofają poprzednie zmiany. Implementacje mogą być orkiestrowane (centralny koordynator) lub choreografowane (zdarzenia pub/sub). Gwarantuje to spójność ostateczną bez rozproszonych blokad.

4

Która biblioteka Go jest powszechnie używana do implementacji service discovery z Consul?

5

Jaka jest główna różnica między komunikacją synchroniczną (REST/gRPC) a asynchroniczną (messaging) między microservices?

+21 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo