
역할: 모든 외부 요청을 받아서 내부 마이크로서비스로 전달하는 프론트 도어
기능: 인증/인가, 라우팅, 로드밸런싱, 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 |