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
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.