爲什麼要用網關?
網關部分特性
服務網關zuul
zuul集成示例
zuul的核心知識
- zuul的執行流程
- zuul的初始化和執行流程
- zuul的路由定位流程
- http的執行流程
- zuul的拓展應用之:用戶登陸,權限校驗
zuul的執行流程
zuul的初始化
zuul的路由定位流程
基本使用
- 導入依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactid>
</dependency>
- 在啓動類上加@EnableZuulProxy註解
// @EnableZuulProxy(動態代理的路由轉發請求) 繼承於 @EnableZuulServer(非動態)
- 修改配置文件
server:
port: 7000
spring:
application:
name: zuul-demo
eureka:
client:
service-url:
defaultZone: http://localhost:10000/eureka
####################zuul#################
zuul:
host:
# 代理普通的http請求超時時長
connect-timeout-millis: 2000
# socket超時
socket-timeout-millis: 1000
# http連接池大小
max-total-connections: 200
# 每個host最大連接數
max-per-route-connections: 20
##信號量模式
ribbon-isolation-strategy: semaphore
##最大信號量
semaphore:
max-semaphores: 100
##路由代理
routes:
route1:
path: /kane/**
url: http://localhost:8001
route2:
path: /tony/**
serviceId: helloserver
user-token:
path: /token/byPhone
serviceId: user-demo
stduy:
zuul:
token-filter:
noAuthenticationRoutes: user-token
token:
jwt:
key: study123
iss: 11
expm: 10
hystix:
command:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInmilliseconds: 100