본문 바로가기

MSA

(14)
기존 마이크로서비스를 Eureka 클라이언트로 등록 이전에 만들어둔 first-service , second-servic 프로젝트를 디스커러버리 클라이언트로 등록하고자 합니다. 1. eureka client 의존성 추가 MVN에서 추가할 수 있습니다. https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-client build.gradle에 표시된 부분 추가 Tip) 버전은 생략 가능한데, 배포 단계 시에는 버전을 명시하여 배포해야 합니다. 배포 직전에 사용하는 버전을 기록해야 차후 버전 업데이트 등으로 인해 기능 이상이 생기는 것을 방지할 수 있습니다. 2. yml 파일 설정 + @EnableDiscoveryClient 추가 serve..
스프링 디스커버리를 위한 Eureka 클라이언트 생성 1. 유레카 클라이언트 생성된 프로젝트의 Application.java 내 ServiceApplication 클래스 위에 @EnableDiscoveryClient 를 붙여주면 유레카 서버에서 클라이언트로 인식하며 통신합니다. DiscoveryClientApplication package com.example.discoveryclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootAppl..
스프링 디스커버리를 위한 Eureka 서버 세팅 1. Eureka란 스프링 클라우드에서 제공하는 Eureka는 마이크로서비스 아키텍처에서 서비스의 등록, 발견, 및 관리를 위한 서비스 디스커버리 라이브러리입니다. 이를 통해 마이크로서비스 간의 통신이 효율적으로 이루어질 수 있습니다. Eureka는 로드 밸런싱과 함께 헬스체크(=서비스 감지)까지 진행하고 있어 Eureka를 사용하면 Gateway는 서비스가 살아 있는지에 대한 고민을 하지 않고 유레카에 의뢰합니다. 1.1 주요 특징: 서비스 등록 (Service Registration): 마이크로서비스가 시작될 때 Eureka 서버에 자신의 위치 정보를 등록합니다. 이를 통해 다른 서비스나 클라이언트가 해당 서비스를 찾을 수 있습니다. 서비스 감지 (Service Discovery): Eureka 클라..
yml 파일에 필터 적용하기 0. Pre필터와 Post 필터 pre 필터는 요청 전에 필요한 설정이 있을 경우 설정이 필요하며, 이 설정은 요청 처리의 일부로 간주됩니다. 반면에 post 필터는 요청 처리가 완료된 후에 실행되며, 설정이 필요한 경우에도 요청 처리에 직접적인 영향을 미치지 않기 때문에 설정이 필수적이지 않을 수 있습니다. 1. yml파일 - 디폴트 필터 적용 api-gateway-server 파일에 filters를 추가한다. server: port: 8000 spring: application: name: apigateway-server cloud: gateway: routes: - id: first-service uri: http://localhost:8081/ predicates: - Path=/first-ser..
Config파일을 이용한 라우팅 정보 설정 + 기본 필터 활용 1. 게이트웨이 서버 Config 파일 스프링은 Bean을 컨테이너에 적재해어야 합니다. @Configuration 이 붙은 클래스는 빈 컨테이너에 내부에 있는 메서드가 리턴하는 요소들을 적재하는데 @Bean 어노테이션이 붙은 메서드가 리턴하는 객체들을 전부 적재한다. package com.example.apigatewayserver.config; import org.springframework.cloud.gateway.route.RouteLocator; import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder; import org.springframework.context.annotation.Bean; import org.sp..
Spring Cloud Gateway와 MSA 학습을 위한 게이트웨이 서버 설정 1. 게이트웨어 프로젝트 설정 2. Netty와 Tomcat의 차이란 2.1 Netty 비동기 이벤트 기반의 네트워크 애플리케이션을 개발하기 위한 프레임워크 즉각적으로 요청이 들어오는 것 중에 성능이 요구되는 고성능, 확장 가능한 네트워크 서버를 개발하는데 사용 보통 웹 서버, 게임 서버, 채팅 서버, 프록시 서버 , 독립적으로 돌아가는 비동기식 서버 등과 같은 네트워크 기반의 애플리 케이션을 개발하는데 활용 네트워크 통신에 대한 이벤트 기반의 비동기 IO를 사용 NIO(Non-blocking IO)를 기반으로 하여 매우 빠르고 확장 가능한 네트워크 서버를 만들 수 있음 대용량 데이터를 다루거나 수천 이상의 연결을 처리하는데 적합 2.2 Tomcat 서블릿(Servlet) 컨테이너로서, JSP와 Serv..