역할: 모든 외부 요청을 받아서 내부 마이크로서비스로 전달하는 프론트 도어
기능: 인증/인가, 라우팅, 로드밸런싱, CORS처리, 로깅, 모니터링
/actuator/refresh
를 직접 호출하였으나, Spring Cloud Bus는 이 과정을 자동화Config Server로 /actuator/busrefresh
요청을 보내면, Bus가 이를 구독한 모든 서비스에게 알림Git 저장소
│
[설정 변경]
│
▼
Config Server
│
└─▶ /actuator/busrefresh 호출
│
▼
RabbitMQ (topic: springCloudBus)
│
▼
각 마이크로서비스 (bus를 통해 설정 자동 refresh)
기능 | Spring Cloud Config Server만 | Config + Bus + RabbitMQ |
---|---|---|
설정 조회 | O | O |
설정 변경 후 자동 반영 | X (수동 refresh 필요) | O (자동 broadcast) |
설정 동기화 방식 | 서비스당 /refresh | 메시지 브로커 통한 broadcast |
추가 구성 요소 | 없음 | RabbitMQ, Bus 설정 필요 |
┌────────────────────┐ ┌───────────────┐
│ Spring Boot 서비스 │──────▶│ OpenTelemetry │───┐
└────────────────────┘ └───────────────┘ │
│ ▼
│ (메트릭) ┌────────────┐
└─────────────────────────────▶│ Prometheus │
│ └────────────┘
│ (로그) ┌────────────┐
└─────────────────────────────▶│ Loki │
│ (트레이스) ┌────────────┐
└─────────────────────────────▶│ Tempo │
▲
│
┌────────────┐
│ Grafana │
└────────────┘
과거 구성 | 대체 구성 (권장) |
---|---|
Sleuth | Micrometer Tracing |
Zipkin | Grafana Tempo |
actuator/prometheus | Prometheus |
Zipkin UI | Grafana |