정보처리기사 실기신기술 동향컨테이너와 마이크로서비스난이도 5DESCRIPTIVE

정보처리기사 실기 컨테이너와 마이크로서비스 기출문제 #306

문제

**이벤트 드리븐 아키텍처(Event-Driven Architecture)**와 CQRS(Command Query Responsibility Segregation) 패턴의 개념을 각각 설명하고, 대규모 마이크로서비스 시스템에서 이 두 패턴을 함께 적용했을 때의 장점과 구현 시 고려사항을 서술하시오.

정답

이벤트 드리븐 아키텍처는 서비스 간 통신을 이벤트 발행/구독 방식으로 처리하여 느슨한 결합을 구현하는 아키텍처 패턴이다. CQRS는 데이터 변경 명령과 조회를 분리하여 각각 최적화된 모델을 사용하는 설계 패턴이다. 대규모 MSA에서 두 패턴을 함께 사용하면 이벤트로 명령과 조회 모델 간 데이터 동기화가 가능하고, 읽기 성능 최적화와 확장성이 향상된다. 하지만 최종 일관성으로 인한 데이터 불일치 가능성과 이벤트 순서 보장, 중복 처리 등을 고려해야 한다.

이벤트 드리븐이벤트 발행이벤트 구독느슨한 결합CQRS명령 조회 분리최적화 모델데이터 동기화읽기 성능확장성최종 일관성데이터 불일치이벤트 순서중복 처리

해설

이벤트 드리븐 아키텍처는 Apache Kafka, RabbitMQ 등의 메시지 브로커를 통해 서비스들이 이벤트를 비동기로 주고받는 방식이다. CQRS는 쓰기용 Command Model과 읽기용 Query Model을 분리하여 각각 다른 데이터 저장소를 사용할 수 있게 한다. 함께 사용 시 Command 처리 후 이벤트를 발행하고, 이를 구독하는 Query Model이 읽기 전용 데이터를 갱신하는 패턴이 일반적이다. 장점은 높은 확장성과 성능이지만, Eventually Consistency, Event Sourcing, Saga 패턴 등의 복잡성을 관리해야 한다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.