MSA

[MSA] Spring Boot - Api Gateway [Spring Cloud Gateway]란? 생성

차노도리 2023. 4. 6. 15:19

Api Gateway

  • 마이크로 서비스들이 제공하는 api들은 동적으로 IP,와 포트가 바뀝니다. 그 정보들을 front에서 알수있게 라우팅 기능을 합니다.

Spring Cloud Gateway

  • Spring 환경의 gateway로 비동기 처리가 가능하다. (tomcat말고 Netty 등 비동기 서버 사용해야함)

 

의존성 주입 (build.gradle)

ext {
    set('springCloudVersion', "2021.0.6")
}

dependencies {
    implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

 

프로젝트 설정값 변경 (application.yml)

server:
  port: 7501

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://127.0.0.1:7500/eureka
      default-zone: http://127.0.0.1:7500/eureka


spring:
  application:
    name: gugbab-api-gateway
  cloud:
    gateway:
      routes:
        - id: services
          uri: lb://GUGBAB-SERVICES   # 포워딩 정보, lb: eureka에 등록된 id 이름
          predicates:
            - Path=/services/**       # 조건

 

실행 결과