본문 바로가기

반응형

MSA (MicroServiceArchitecture)

(29)
MSA (LoadBalencer를 위한 설정) 1. first-service 와 second-service의 application.yml 파일에 아래의 내용을 각각 추가해 줍니다. eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka - 위와같이 설정해 주는 이유는 eureka 매니저 서버에서 first-service와 second-service와의 통신을 통해 서비스를 관리하기위한 설정 입니다. server: port: 8081 spring: application : name: my-first-service eureka: client: register-with-eureka: true fetc..
MSA (LoggingFilter) 1. GlobalFilter 파일을 복사하고, LoggingFilter로 이름을 바꿔줍니다. 2. 아래의 소스코드를 입력 합니다. package com.example.apigatewayservice.filter; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.OrderedGatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import..
MSA (GlobalFilter) 1. filter 패키지에서 CustomFilter파일을 복사하여 GlobalFilter 파일을 생성한다. 2. GlobalFilter에서 아래 코드를 작성한다. package com.example.apigatewayservice.filter; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import org.springframework.http.server.reactive.ServerHttp..
MSA Spring (CustomFilter) 1. application.yml 파일을 아래와 같이 수정합니다. 기존에 설정된 필터 정보에서 Add 부분을 주석처리하고 CustomFilter를 추가해 줍니다. server: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://localhost:8761/eureka spring: application: name: apigateway-service cloud: gateway: routes: - id: first-service uri: http://localhost:8081/ #http://127.0.0.1:8081/first-service/welcome #이동될..
MSA (Spring Gateway 필터적용_02) # Spring Gateway에서 yml 파일을 사용하여 필터를 적용하는 방법에 대해서 알아보자. 1. 기존에 작성했던 JAVA 파일에서 @어노테이션 부분을 주석으로 막아준다. - FirstServiceConroller와 SecondServieController에 아래의 코드를 추가한다. @GetMapping("/message") //메세지라는 메소드가 실행됨에 있어서 "first-request" 헤더값을 받아오고, 그 값이 header안에 저장이 된다. public String message(@RequestHeader("first-request") String header) { log.info(header); return "Hello World in First Service."; - 그리고 아래와 같이..
MSA (Spring Gateway 필터적용_01) 1. Spring Gateway에 필터를 적용하는 방법에 대해서 알아봅시다. - application.yml 파일에서 해당 내용을 주석처리 해줍니다. - 주석처리한 내용은 JAVA에서 코드로 구현을 할 예정입니다. 2. 아래의 이미지에 있는 정보처렁 config -> FilterConfig.class 파일을 생성해 줍니다. 3. 생성된 FilterConfig.class 파일에 아래의 코드를 작성해 줍니다. @Configuration public class FilterConfig { @Bean public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) { return builder.routes() .route(r -> r.path("/first-serv..
MSA (Spring Cloud Gateway 프로젝트 생성) # yml 파일에 대해서 알아보자. YAML(야믈, 와이엠엘(.yml))은 JSON의 상위집합(superset)으로, 계층적 뼈대 구조를 설정하는데 편리한 형식(format)입니다. 라고 정의 되어 있다. # 스프링 클라우드 게이트웨이를 생성해보자. 1. 스프링 이니셜라이져에서 아래와같이 프로젝트를 생성하자. 2. application.yml 파일에 아래의 코드 내용을 추가하자. server: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://localhost:8761/eureka spring: application: name: apigateway-servic..
MSA (Zuul Filter + Log 찍기) # Zuul 필터를 통해 로그를 찍는 방법에 대해 알아보자. 1. 아래의 그림처럼 패키지를 생성하고 class 파일을 생성한다. 2. extends ZuulFilter 후 alt+insert 키를 눌러서 implement Method 해주거나 마우스 우클릭 후 Generate 후 implement 해주면 아래와 같이 오버라이드 되어 생성이 된다. - 해당 필터는 사용자가 요청이 들어올때마다 먼저 실행되는 메소드라고 볼 수 있다. package com.example.zuulservice.filter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.exceptio..

728x90
반응형