공부

· 공부/MSA
Users Microservice - JPA ① VO 생성 RequestUser @Data public class RequestUser { @NotNull(message = "Email cannot be null") @Size(min = 2, message = "Email not me less than two characters") @Email private String email; @NotNull(message = "Name cannot be null") @Size(min = 2, message = "Name not be less than two characters") private String name; @NotNull(message = "Password cannot be null") @Size(mi..
· 공부/MSA
Users Microservice 개요 APIs 기능 URI(API Gateway 사용 시) URI(API Gateway 미사용 시) HTTP Method 사용자 정보 등록 /user-service/users /users POST 전체 사용자 조회 /user-service/users /users GET 사용자 정보, 주문 내역 조회 /user-service/users/{user_id} /users/{user_id} GET 작동 상태 확인 /user-service/users/health_check /users/health_check GET 환영 메시지 /user-service/users/welcome /users/welcome GET Users Microservice 프로젝트 생성 설정 프로젝트 생성 De..
· 공부/MSA
E-commerce 애플리케이션 CATALOG-SERVICE USER-SERVICE ORDER-SERVICE 전체적인 애플리케이션 구성 구성요소 설명 Git Repository 마이크로서비스 소스 관리 및 프로파일 관리 Config Server Git 저장소에 등록된 프로파일 정보 및 설정 정보 Eureka Server 마이크로서비스 등록 및 검색 API Gateway Server 마이크로서비스 부하 분산 및 서비스 라우팅 Microservices 회원 MS, 주문 MS, 상품(카테고리) MS Queuing System 마이크로서비스 간 메시지 발행 및 구독 애플리케이션 APIs 마이크로서비스 RESTful API HTTP Method Catalog Service /catalog-service/catal..
· 공부/MSA
Eureka 연동 Eureka Client 추가 - pom.xml, application.yml apigateway-service, first-service, second-service 3개의 프로젝트에 모두 추가 dependencies 확인(pom.xml 확인) - 세 개 프로젝트에 모두 적용 pom.xml apigateway-service, first-service, second-service 3개의 프로젝트에 eureka-client 의존성 추가 Maven일 경우 org.springframework.cloud spring-cloud-starter-netflix-eureka-client Gradle일 경우 implementation 'org.springframework.cloud:spring-clou..
· 공부/MSA
Spring Cloud Gateway - Logging Filter Logging Filter는 커스텀 필터이다. LoggingFilter.java 생성 OrderGatewayFilter 형식 @Override public GatewayFilter apply(Config config) { GatewayFilter filter = new OrderedGatewayFilter((exchange, chain) -> {필터 내용}, 순서); return filter; } @Component @Slf4j public class LoggingFilter extends AbstractGatewayFilterFactory { public LoggingFilter() { super(Config.class); } @Ove..
Spring Boot Webflux 반응형 및 비동기적인 웹 애플리케이션 개발을 지원하는 모듈이다. 이 모듈은 Reactive Streams 사양을 기반으로 하여, 비동기적인 이벤트 지향 프로그래밍을 통해 높은 확장성과 성능을 제공한다. Webflux를 사용하는 목적은 반응형 프로그래밍을 통해 '높은 처리량'과 '확장성'을 갖는 애플리케이션을 만드는 것을 목표로 한다. [ 더 알아보기 ] 💡 Webflux는 Spring Framework 5.0부터 지원한다고 들었는데 Spring Boot는 몇 버전이 되어야 하는가? - Spring Framework 5.0은 Spring Boot 2.0 이상을 요구하므로 Webflux를 사용하는데 Spring Boot 2.0 이상 버전이 최소 요구사항이 됩니다. Webf..
· 공부/MSA
Spring Cloud Filter - Global Filter 차이점 CustomFilter : Route마다 지정해줘야 한다. Global Filter 공통 필터 어떤 Filter보다 먼저 실행되고, 제일 마지막에 종료된다. GlobalFilter PRE CustomFilter PRE CustomFilter POST GlobalFilter POST 순으로 로그가 출력 될 것이다. Global Filter GlobalFilter.java 생성 @Component @Slf4j public class GlobalFilter extends AbstractGatewayFilterFactory { public GlobalFilter() { super(Config.class); } @Override public ..
· 공부/MSA
Spring Cloud Gateway - CustomFilter 적용 apigateway-service 프로젝트 CustomFilter.java 생성 CustomFilter를 사용하려면 AbstractGatewayFilterFactory를 상속받아야 한다. @Component @Slf4j public class CustomFilter extends AbstractGatewayFilterFactory { public CustomFilter() { super(Config.class); } @Override public GatewayFilter apply(Config config) { // # Custom Pre Filter return ((exchange, chain) -> { ServerHttpReques..
· 공부/MSA
filter 종류 prefilter : 사전에 호출 postfilter : 사후에 호출 작업 방법 방법1) 자바코드로 작업 방법2) 프로퍼티(property)로 작업 predicate : 요청정보가 들어오면 어떤 것인지 판단 방법1) 자바 코드 작업 기존에 설정해둔 application.yml에서 routes를 주석처리 해준다. 자바코드로 작성해보자! apigateway-service 프로젝트 Config.java클래스 생성 @Configuration을 추가하게 되면 Spring Boot가 처음 Bootsrap에 의해서 작동을 하게 될 때 @Configuration이 달려있는 Annotation을 모아서 메모리에 먼저 등록하는 작업을 한다. 이때 등록하는 빈의 이름을 RoterLocator로 등록한다. ..
· 공부/MSA
Spring Cloud Gateway 프로젝트 생성 dependencies: Lombok, Gateway, Eureka Discovery Client 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-service cloud: gateway: routes: - id: first-service uri: http://localhost:8081/ predicates: # 조건절 - Path=/first-service/..
sesam
'공부' 카테고리의 글 목록 (6 Page)