Eureka 서버는 각각의 비즈니스 로직 처리를 담당하는 스프링 부트 어플리케이션 목록들을 가지고 있다.
MSA를 구성하는 요소는 자동으로 오토 스케일링되기 때문에 새로 생긴 서버의 IP를 게이트웨이가 알지 못한다. 따라서 Eureka 서버가 해당 목록들을 관리하며 Gateway에게 전달한다.
로드밸런싱(Load Balancing)은 트래픽을 여러 서버로 분배하여 과부하를 방지하는 기술
Spring Cloud Gateway는 API 게이트웨이로, 클라이언트 요청을 여러 마이크로서비스로 라우팅합니다. Eureka와 결합하면, Gateway는 Eureka에서 서비스 인스턴스를 동적으로 조회하고 로드밸런싱을 통해 요청을 적절한 인스턴스로 전달
로드밸런싱 기본 흐름
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://아이디:비밀번호@아이피:8761/eureka
spring.cloud.gateway.routes[0].id=ms1
spring.cloud.gateway.routes[0].predicates[0].name=Path
spring.cloud.gateway.routes[0].predicates[0].args.pattern=/ms1/**
spring.cloud.gateway.routes[0].uri=lb://MS1