Node.js / NestJS

Microservices

Monolith vs modular monolith vs microservices, message patterns, transporters (TCP, Redis, NATS, RabbitMQ, Kafka), komunikacja (sync/async, event-driven), CQRS, event sourcing, client/server

30 pytań z rozmów·
Senior
1

Czym jest modular monolith?

Odpowiedź

Modular monolith to aplikacja wdrażana jako pojedyncza jednostka, ale ustrukturyzowana w silnie odseparowane moduły z jasnymi boundaries. W przeciwieństwie do klasycznego monolith, gdzie wszystko jest wymieszane, modular monolith organizuje kod w niezależne moduły komunikujące się przez dobrze zdefiniowane interfejsy. To podejście łączy prostotę monolith (pojedyncze wdrożenie, proste transakcje ACID) z łatwością utrzymania microservices (separacja odpowiedzialności, jasne boundaries).

2

Jaka jest główna różnica między monolith a microservices?

Odpowiedź

Główna różnica leży we wdrażaniu i niezależności: monolith jest wdrażany jako pojedyncza jednostka, w której wszystkie komponenty współdzielą ten sam proces i bazę danych, podczas gdy microservices to niezależne usługi wdrażane oddzielnie z własnymi bazami danych. Monolith oferuje prostotę i łatwe transakcje ACID, ale napotyka problemy ze skalowalnością i utrzymaniem na dużą skalę. Microservices umożliwiają niezależne skalowanie i autonomiczne wdrożenia, ale wprowadzają złożoność rozproszoną.

3

Czym jest message pattern w NestJS Microservices?

Odpowiedź

Message pattern w NestJS definiuje tryb komunikacji między microservices. Istnieją dwa główne typy: request-response (synchroniczny z oczekiwaną odpowiedzią) i event-based (asynchroniczny bez oczekiwania na odpowiedź). Dekorator @MessagePattern() definiuje handler dla request-response, podczas gdy @EventPattern() obsługuje zdarzenia asynchroniczne. Wybór pattern zależy od przypadku użycia: request-response dla operacji wymagających natychmiastowej odpowiedzi, event-based dla powiadomień i eventual consistency.

4

Jaka jest rola transporter w NestJS Microservices?

5

Jaka jest różnica między @MessagePattern() a @EventPattern()?

+27 pytań z rozmów

Opanuj Node.js / NestJS 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