분류 전체보기
-
gateway의 역할 중에 하나는 서비스의 단일 진입점이다.서비스의 모든 요청이 들어오는 곳이니, accessLog를 남겨 호출이력을 관리할 수 있게 된다. Spring Cloud Gateway Reactive Server의 경우 netty를 HttpServer로 활용하니NettyWebServer에 accessLog 사용 방법을 알아보고, accessLog를 Customize 할 수 있는 방법을 알아보자. 기본적으로 Spring Cloud Gateway 가이드에 기본적인 설명이 나와있다. Add java property-Dreactor.netty.http.server.accessLogEnabled=true Add logback configuration access_log.log ..
[SpringCloudGateway] Netty AccessLog - Customizegateway의 역할 중에 하나는 서비스의 단일 진입점이다.서비스의 모든 요청이 들어오는 곳이니, accessLog를 남겨 호출이력을 관리할 수 있게 된다. Spring Cloud Gateway Reactive Server의 경우 netty를 HttpServer로 활용하니NettyWebServer에 accessLog 사용 방법을 알아보고, accessLog를 Customize 할 수 있는 방법을 알아보자. 기본적으로 Spring Cloud Gateway 가이드에 기본적인 설명이 나와있다. Add java property-Dreactor.netty.http.server.accessLogEnabled=true Add logback configuration access_log.log ..
2025.01.26 -
overviewGateway Handler Mapping SpringMVC의 동작 구성과 비슷하다. DispatcherServlet과 유사하게 Front Controller를 하나두어 진입점을 하나로 통합하였다. client 호출에서 Gateway Web Handler에 도달하기 전까지의 호출 순서를 보면 아래와 같다 Client ->HttpWebHandlerAdapter.handle -> (predicate, filter에서 사용하는 ServerWebExchange 생성 및 전달 )DispatcherHandler.handle -> (DispatcherServlet 유사)(handlerMapping을 찾아 handlerAdapter에서 수행)RoutePredicateHandlerMapping.getH..
[SpringCloudGateway] 구성 요소 및 동작 내용overviewGateway Handler Mapping SpringMVC의 동작 구성과 비슷하다. DispatcherServlet과 유사하게 Front Controller를 하나두어 진입점을 하나로 통합하였다. client 호출에서 Gateway Web Handler에 도달하기 전까지의 호출 순서를 보면 아래와 같다 Client ->HttpWebHandlerAdapter.handle -> (predicate, filter에서 사용하는 ServerWebExchange 생성 및 전달 )DispatcherHandler.handle -> (DispatcherServlet 유사)(handlerMapping을 찾아 handlerAdapter에서 수행)RoutePredicateHandlerMapping.getH..
2025.01.22 -
SpringCloudGateway는 스프링으로 만들어진 API-Gateway이다.그럼 API-Gateway가 무엇인지 먼저 알아보자. API-Gateway 란마이크로 서비스 아키텍처 형태로 구축되면서 다양한 서비스들의 엔드포인트를 관리하는 데 있어 어려움이 생기고, 또한 각 서비스마다 공통적으로 들어가는 기능(인증/인가, 로깅, 모니터링 등)들을 중복으로 개발해야 한다는 문제점이 발생한다.이러한 문제점을 해결하기 위해 API-Gateway를 도입할 수 있다. 즉, 모든 서비스로의 요청을 처리하는 단일 진입점이라고 할 수 있다. Gateway 패턴Gateway는 서버들에서 필요한 공통 로직을 통합하여 처리모든 서비스에서 필요한 유저 정보, 보안 정책 등을 Gateway에서 처리하고 이를 업스트림 서버..
[SpringCloudGateway] SpringCloudGateway란 (정의, 사용이유)SpringCloudGateway는 스프링으로 만들어진 API-Gateway이다.그럼 API-Gateway가 무엇인지 먼저 알아보자. API-Gateway 란마이크로 서비스 아키텍처 형태로 구축되면서 다양한 서비스들의 엔드포인트를 관리하는 데 있어 어려움이 생기고, 또한 각 서비스마다 공통적으로 들어가는 기능(인증/인가, 로깅, 모니터링 등)들을 중복으로 개발해야 한다는 문제점이 발생한다.이러한 문제점을 해결하기 위해 API-Gateway를 도입할 수 있다. 즉, 모든 서비스로의 요청을 처리하는 단일 진입점이라고 할 수 있다. Gateway 패턴Gateway는 서버들에서 필요한 공통 로직을 통합하여 처리모든 서비스에서 필요한 유저 정보, 보안 정책 등을 Gateway에서 처리하고 이를 업스트림 서버..
2025.01.19 -
보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
[Spring] RoutingDataSource 이용 DB 요청 분산(MasterSlave, Sharding..)보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
2025.01.16