3.2.5 Zuul - 微服務網關

爲什麼要用網關?

在這裏插入圖片描述

網關部分特性

在這裏插入圖片描述

服務網關zuul

在這裏插入圖片描述

zuul集成示例

在這裏插入圖片描述

zuul的核心知識

  1. zuul的執行流程
  2. zuul的初始化和執行流程
  3. zuul的路由定位流程
  4. http的執行流程
  5. zuul的拓展應用之:用戶登陸,權限校驗

zuul的執行流程

在這裏插入圖片描述

zuul的初始化

在這裏插入圖片描述

zuul的路由定位流程

在這裏插入圖片描述

基本使用

  1. 導入依賴
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-zuul</artifactid>
</dependency>
  1. 在啓動類上加@EnableZuulProxy註解

// @EnableZuulProxy(動態代理的路由轉發請求) 繼承於 @EnableZuulServer(非動態)

  1. 修改配置文件
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章