SpringCloud Zuul 게 이 트 웨 이 기능 분석

간단 한 소개
API Gateway,시 시스템 의 유일한 대외 입 구 는 클 라 이언 트 와 서버 간 의 중간 층 에 있 고 비 업무 기능 을 처리 합 니 다.
경로 요청,감 권,모니터링,캐 시,흐름 제한 등 기능 을 제공 합 니 다.
통일 접속
스마트 경로
AB 테스트,그 레이스 케 일 테스트부하 균형,용재 처리
로그 매 립 점(Ningx 로그 와 유사)유량 모니터링
흐름 제한 처리
서비스 강등
안전 보호
감 권 처리
모니터링
기계 망 종 격 리
1.의존 도 추가
SpringBoot 와 SpringCloud 버 전이 호 환 되 는 것 을 주의 하 십시오.

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.28</version>
</dependency>
2.시작 클래스 설명 추가@EnableZuulProxy

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@SpringBootApplication
@EnableZuulProxy
public class ZuulgatewayApplication {

  public static void main(String[] args) {
    SpringApplication.run(ZuulgatewayApplication.class, args);
  }

}
3.application.yml 설정 수정
기본 접근 규칙
http://gateway:port/service-id/**

server:
 port: 9000
eureka:
 client:
  serviceUrl:
   defaultZone: http://localhost:8761/eureka/

spring:
 application:
  name: zuul-gateway

#       
#order-service        ,     
# :  http://localhost:9000/order-serice/api/v1/order/find
# :  http://localhost:9000/apigateway/order/api/v1/order/find
zuul:
 routes:
#   :
#  product-service: /apigateway/product/**
#  order-service: /apigateway/order/**
#   :
  product-route:    #    ,     
   service-id: product-service
   path: /apigateway/product/**
  order-route:
   service-id: order-service
   path: /apigateway/order/**
#      ,       
#         product-service,order-service
#    http://localhost:9000/order-serice/api/v1/order/find    
 # ignored-services: product-service
#           
 ignored-patterns: /*-service/**
 sensitive-headers:

#zuul  Ribbon    ,     ribbon    ,    
 host:
  connect-timeout-millis: 15000 #HTTP      Hystrix  
  socket-timeout-millis: 60000  #socket  
ribbon:
 ReadTimeout: 10000
 ConnectTimeout: 10000
4.Zuul 게 이 트 웨 이 주의사항
기본 적 인 상황 에서 요청 헤더 헤 더 는 쿠키,Set-Cookie,Authorization 정 보 를 전달 하지 않 습 니 다.이 정 보 는 비어 있 습 니 다.
전달 이 필요 하 다 면 application.yml 설정 을 수정 합 니 다.
zuul: sensitive-headers:
5.접근 경로
http://127.0.0.1:9000/apigateway/product/api/v1/product/find?id=1
http://127.0.0.1:9000/apigateway/order/api/v1/order/test?product_id=1
그림 1

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기