
마이크로서비스
모놀리스 vs 모듈러 모놀리스 vs 마이크로서비스, message patterns, transporters(TCP, Redis, NATS, RabbitMQ, Kafka), 통신(sync/async, event-driven), CQRS, event sourcing, client/server
1modular monolith란 무엇입니까?
modular monolith란 무엇입니까?
답변
modular monolith은 단일 단위로 배포되지만 명확한 boundaries를 가진 강하게 분리된 모듈로 구조화된 애플리케이션입니다. 모든 것이 섞여 있는 전통적인 monolith과 달리, modular monolith은 코드를 독립적인 모듈로 구성하여 잘 정의된 인터페이스를 통해 통신합니다. 이 접근 방식은 monolith의 단순함(단일 배포, 간단한 ACID 트랜잭션)과 microservices의 유지보수성(관심사 분리, 명확한 boundaries)을 결합합니다.
2monolith과 microservices의 주요 차이점은 무엇입니까?
monolith과 microservices의 주요 차이점은 무엇입니까?
답변
주요 차이점은 배포와 독립성에 있습니다. monolith은 모든 컴포넌트가 동일한 프로세스와 데이터베이스를 공유하는 단일 단위로 배포되는 반면, microservices는 자체 데이터베이스를 가지고 개별적으로 배포되는 독립적인 서비스입니다. monolith은 단순함과 쉬운 ACID 트랜잭션을 제공하지만 대규모에서 확장성과 유지보수 문제에 직면합니다. microservices는 독립적인 확장과 자율적인 배포를 가능하게 하지만 분산 복잡성을 도입합니다.
3NestJS Microservices에서 message pattern이란 무엇입니까?
NestJS Microservices에서 message pattern이란 무엇입니까?
답변
NestJS의 message pattern은 microservices 간 통신 모드를 정의합니다. 두 가지 주요 유형이 있습니다: request-response(응답을 기대하는 동기식)와 event-based(응답을 기다리지 않는 비동기식)입니다. @MessagePattern() 데코레이터는 request-response용 핸들러를 정의하고, @EventPattern()은 비동기 이벤트를 처리합니다. pattern 선택은 사용 사례에 따라 다릅니다: 즉각적인 응답이 필요한 작업에는 request-response, 알림과 eventual consistency에는 event-based를 사용합니다.
NestJS Microservices에서 transporter의 역할은 무엇입니까?
@MessagePattern()과 @EventPattern()의 차이점은 무엇입니까?
+27 면접 질문