-
Notifications
You must be signed in to change notification settings - Fork 0
로그2. Gateway의 역할 1 (feat. Logging)
CHOI SOHYUN edited this page Oct 19, 2024
·
1 revision
- 외부 API 요청의 라우팅
- 로깅
- JWT 검증
- RSA 복호화
- 외부에서의 모든 API 요청을 Gateway를 거쳐서 전달하도록 함
- 단, 추가적인 중계 역할은 병목현상이 발생할 것으로 예상하여 채택하지 않았음 -> 클라이언트가 모든 요청을 해야하는 부담을 지게 됨
- 모든 API 요청이 Gateway를 거치므로, 요청 경로 및 라우트 정보를 기록하여 요청을 추적
-
Global Filter
를 사용하여 게이트웨이를 거치는 모든 요청을 전역적으로 처리
@Component
public class LoggingFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
...
return chain.filter(exchange);
}
}
- Gateway를 여러 인스턴스로 확장하여 부하 분산 (쿠버네티스나 AWS ELB)
- Gateway의 응답 데이터를 캐싱하여 자주 요청되는 데이터를 저장한다면 불필요한 트래픽을 줄일 수 있을 것
- Gateway에서도 Kafka를 이용한 비동기처리를 한다면, 일부 요청이 처리될때 블로킹 되지않고 처리가 가능할 것
- 실시간으로 수집된 로그를 Kibana를 통해 시각화하여 즉시 모니터링 (서버에 접속안해도 됨!!)
- 검색 및 필터링하여 빠르게 검색 가능
- 특정 패턴을 기반으로 자동으로 알림 설정 가능