logo

Zuul API 게이트웨이

줄(Zuul)이란 무엇입니까?

Zuul 서버는 API 게이트웨이 애플리케이션입니다. 모든 요청을 처리하고 마이크로서비스 애플리케이션의 동적 라우팅을 수행합니다. 모든 요청에 ​​대한 현관문 역할을 합니다. 그것은 또한로 알려져 있습니다 엣지 서버.

Zuul은 다음을 가능하게 하기 위해 만들어졌습니다. 동적 라우팅, 모니터링, 복원력, 그리고 보안. 또한 요청을 여러 경로로 라우팅할 수도 있습니다. Amazon Auto Scaling 그룹 .

예를 들어, /api/제품 에 매핑됩니다. 제품 서비스와 /api/사용자 에 매핑됩니다. 사용자 서비스. Zuul 서버는 요청을 해당 백엔드 애플리케이션으로 동적으로 라우팅합니다.

우리가 Zuul을 사용하는 이유는 무엇입니까?

Netflix API 트래픽의 양과 다양성으로 인해 경고 없이 빠르게 발생하는 제작 문제가 발생하는 경우가 있습니다. 따라서 이러한 상황에 대응하기 위해서는 행동을 빠르게 변화시킬 수 있는 시스템이 필요합니다.

Zuul은 다양한 유형의 서비스를 제공합니다. 필터 이를 통해 엣지 서비스에 기능을 빠르고 민첩하게 적용할 수 있습니다. 필터는 다음 기능을 수행합니다.

    인증 및 보안:각 리소스에 대한 인증 요구 사항을 제공합니다.
    통찰력 및 모니터링:생산에 대한 정확한 시각을 제공하는 의미 있는 데이터와 통계를 추적합니다.
    동적 라우팅:필요에 따라 요청을 다른 지원 클러스터로 동적으로 라우팅합니다.스트레스 테스트:성능을 테스트하기 위해 클러스터에 대한 트래픽을 늘립니다.부하 차단:요청 유형별로 용량을 할당하고 한도를 초과하는 요청을 삭제합니다.정적 응답 처리:일부 응답을 내부 클러스터로 전달하는 대신 에지에서 직접 구축합니다.다중 지역 복원력:ELB 사용을 다양화하기 위해 AWS 지역 전체에 요청을 라우팅합니다.

Zuul 구성 요소

Zuul 2.x 구성요소:

    zuul 코어:Zuul 2.0의 핵심 기능을 포함하는 라이브러리입니다.zuul 샘플:Zuul 2.0용 샘플 드라이버 애플리케이션입니다.

Zuul 1.x 구성요소:

    zuul 코어:핵심 기능을 정의합니다.zuul-단순-웹앱:zuul-core를 사용하여 애플리케이션을 구축하는 방법에 대한 간단한 예를 보여주는 웹 앱입니다.zuul-넷플릭스:Zuul에 다른 NetflixOSS 구성 요소를 추가하는 라이브러리입니다.zuul-넷플릭스-웹앱:zuul-core와 zuul-netflix를 함께 패키징한 웹앱입니다.

Zuul API 게이트웨이 서버 설정

있다 Zuul API 게이트웨이를 설정하는 단계:

  • Zuul API 게이트웨이용 구성 요소 만들기
  • Zuul API 게이트웨이가 수행해야 하는 작업 결정
  • 모든 중요한 요청은 Zuul API 게이트웨이를 통과하도록 구성됩니다.

Zuul API 게이트웨이 서버를 설정하려면 다음 단계를 따르세요.

1 단계: 열려 있는 스프링 초기화 https://start.spring.io .

2 단계: 제공 그룹 이름. 우리는 제공했습니다 com.javatpoint.microservices.

3단계: 제공 인공물. 우리는 제공했습니다 넷플릭스-zuul-api-게이트웨이-서버.

4단계: 다음 종속성을 추가합니다. Zuul, 유레카 디스커버리, 액츄에이터, 그리고 DevTools.

Zuul API 게이트웨이

5단계: 다음을 클릭하세요. 생성하다 단추. 프로젝트를 패킹하기 시작합니다. 지퍼 파일을 다운로드하여 다운로드하세요.

Zuul API 게이트웨이

6단계: 추출 zip 파일을 다운로드하여 Spring Tool Suite의 작업 공간에 붙여넣습니다.

7단계: 가져오기 STS IDE의 프로젝트.

파일 -> 가져오기 -> 기존 Maven 프로젝트 -> 찾아보기 -> 선택 넷플릭스-zuul-api-게이트웨이-서버 -> 폴더 선택 -> 완료

가져오는 데 시간이 좀 걸립니다.

8단계: 열기 NetflixZuulApiGatewayServerApplication.java 파일을 만들고 주석을 사용하여 zuul 프록시 및 검색 클라이언트를 활성화합니다. @EnableZuulProxy 그리고 @EnableDiscoveryClient, 각기 .

NetflixZuulApiGatewayServerApplication.java

 package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } } 

9단계: 열려 있는 애플리케이션.속성 파일을 구성하고 애플리케이션 이름, 포트, 그리고 유레카 네이밍 서버 .

애플리케이션.속성

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
netflix-zuul-api-gateway-server를 다운로드하려면 여기를 클릭하세요.