학습 목표
Config Server의 개념과 동작 원리에 대해 이해할 수 있다.
이벤트 드리븐 아키텍처의 개념과 동작 원리에 대해 이해할 수있다.
📌 Spring Cloud Config
- Spring Cloud Config는 분산 시스템 환경에서 중앙 집중식 구성 관리를 제공하는 프레임워크
- 애플리케이션의 설정을 중앙에서 관리하고, 변경 사항을 실시간으로 반영
주요 기능
- 중앙 집중식 구성 관리: 모든 마이크로서비스의 설정을 중앙에서 관리
- 환경별 구성: 개발, 테스트, 운영 등 환경별로 구성을 분리하여 관리할 수 있다.
- 실시간 구성 변경: 설정 변경 시 애플리케이션을 재시작하지 않고도 실시간으로 반영할 수 있다.
구현 절차
1. config 서버
- build.gradle - Config Server 의존성 추가 ( + 필요시 Eureka Discovery Client, Actuator 등 의존성 추가)
- yml 파일 작성
- Application class에 @EnableConfigServer 어노테이션 추가
- 클라이언트들의 yml 파일 작성
2. client
- build.gradle - 'spring-cloud-starter-config' 의존청 추가 ( + .. )
- yml 파일 작성 (config server연결 설정)

📌 Event Driven

이벤트 드리븐 아키텍처란?
- 이벤트 드리븐 아키텍처(EDA) 는 시스템에서 발생하는 이벤트(상태 변화나 행동) 를 중심으로 구성된 아키텍처 스타일
- 각 서비스는 이벤트를 비동기적으로 송신/수신하며, 이를 통해 서비스 간 결합도를 낮추고 독립적으로 동작할 수 있다.
주요 개념
| 이벤트 (Event) | 시스템 내부나 외부에서 발생한 상태 변화 또는 행동을 의미하는 메시지 |
| 이벤트 소스 (Event Source) | 이벤트를 생성하고 발행(Publish) 하는 주체 |
| 이벤트 핸들러 (Event Handler) | 이벤트를 구독(Subscribe) 하여 해당 이벤트에 맞는 작업을 수행하는 주체 |
| 이벤트 버스 (Event Bus) | 이벤트를 중개하고 전달하는 통신 채널 (Kafka, RabbitMQ 등 메시지 브로커 역할) |
이벤트 드리븐 아키텍처의 장점
| 느슨한 결합 (Loose Coupling) | 서비스 간 직접적인 의존이 없고, 이벤트로만 연결되므로 각 서비스가 독립적으로 개발·배포 가능 |
| 확장성 (Scalability) | 이벤트 생산자(Producer)와 소비자(Consumer)를 독립적으로 확장 가능 → 대규모 트래픽 대응에 유리 |
| 비동기 처리 (Asynchronous) | 요청/응답을 기다리지 않고 이벤트 단위로 처리하므로 시스템의 응답성과 처리 효율이 향상됨 |
이벤트 드리븐 아키텍처의 단점
| 복잡성 증가 | 이벤트 흐름이 많아질수록 시스템의 전체 동작을 추적하기 어려움 → 체계적인 설계와 모니터링 필요 |
| 장애 전파 가능성 | 이벤트 처리 실패 시 다른 서비스에도 영향이 퍼질 수 있음 → 재처리(Replay), 보상 트랜잭션 설계 필요 |
'Architecture&Pattern > MSA' 카테고리의 다른 글
| SAGA 패턴과 Saga Orchestration (0) | 2025.11.27 |
|---|---|
| 251020 (월) MSA 요청과 응답의 흐름, 서킷 브레이커 (0) | 2025.10.20 |
| 251017 (금) SpringCloud (0) | 2025.10.17 |