最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Spring Cloud Gateway基于服務(wù)發(fā)現(xiàn)的默認(rèn)路由規(guī)則

 更新時間:2019年05月29日 09:26:00   作者:lockie_zou  
這篇文章主要介紹了詳解Spring Cloud Gateway基于服務(wù)發(fā)現(xiàn)的默認(rèn)路由規(guī)則,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.Spring Gateway概述

1.1 什么是Spring Cloud Gateway

Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術(shù)開發(fā)的網(wǎng)關(guān),Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡單而有效的統(tǒng)一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud生態(tài)系中的網(wǎng)關(guān),目標(biāo)是替代Netflix ZUUL,其不僅提供統(tǒng)一的路由方式,并且基于Filter鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全,監(jiān)控/埋點,和限流等。


1.2 Spring Cloud Gateway的功能

Spring Cloud Gateway 的特征:

  • 基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0
  • 動態(tài)路由
  • Predicates 和 Filters 作用于特定路由
  • 集成 Hystrix 斷路器
  • 集成 Spring Cloud DiscoveryClient
  • 易于編寫的 Predicates 和 Filters
  • 限流
  • 路徑重寫

2. Spring Cloud Gateway的工程流程

客戶端向 Spring Cloud Gateway 發(fā)出請求。然后在 Gateway Handler Mapping 中找到與請求相匹配的路由,將其發(fā)送到 Gateway Web Handler。Handler 再通過指定的過濾器鏈來將請求發(fā)送到我們實際的服務(wù)執(zhí)行業(yè)務(wù)邏輯,然后返回。
過濾器之間用虛線分開是因為過濾器可能會在發(fā)送代理請求之前(“pre”)或之后(“post”)執(zhí)行業(yè)務(wù)邏輯。

2.1 Pre和POST兩種類型的過濾器

3.基于服務(wù)發(fā)現(xiàn)的默認(rèn)路由規(guī)則

3.1 zuul和gateway的默認(rèn)路由規(guī)則

3.1.1 zuul的默認(rèn)路由規(guī)則

說明默認(rèn)情況下,Zuul會代理所有注冊到Eureka Server的微服務(wù),并且Zuul的路由規(guī)則如下:

http://ZUUL_HOST:ZUUL_PORT/微服務(wù)在Eureka上的serviceId/** 會被轉(zhuǎn)發(fā)到serviceId對應(yīng)的微服務(wù)。

http://localhost:8040/sc-zuul-first-provider/sc/order/2

3.1.2 gateway的默認(rèn)路由規(guī)則

規(guī)則:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**

其中微服務(wù)應(yīng)用名默認(rèn)大寫訪問。

實例代碼:

模塊 說明 端口
eureka-service Eureka Server注冊中心 5000
gateway-service Spring Cloud Gateway Sever 5001
order-service 服務(wù)提供者 5100
user-service 服務(wù)消費(fèi)者 5200

分別新建上面這四個服務(wù),詳見 spring cloud Finchley環(huán)境搭建

其中g(shù)ateway-service服務(wù)的application.yml配置文件如下:

spring:
 application:
 name: gateway-service
 cloud:  # spring cloud gateway 路由配置方式
 gateway:
  discovery:  #是否與服務(wù)發(fā)現(xiàn)組件進(jìn)行結(jié)合,通過 serviceId(必須設(shè)置成大寫) 轉(zhuǎn)發(fā)到具體的服務(wù)實例。默認(rèn)為false,設(shè)為true便開啟通過服務(wù)中心的自動根據(jù) serviceId 創(chuàng)建路由的功能。
  locator:  #路由訪問方式:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**,其中微服務(wù)應(yīng)用名默認(rèn)大寫訪問。
   enabled: true
  routes:
  - id: 163      #網(wǎng)關(guān)路由到網(wǎng)易官網(wǎng)
  uri: http://www.163.com/
  predicates:
   - Path=/163/**
#  - id: ORDER-SERVICE   #網(wǎng)關(guān)路由到訂單服務(wù)order-service
#  uri: lb://ORDER-SERVICE
#  predicates:
#   - Path=/ORDER-SERVICE/**
#  - id: USER-SERVICE   #網(wǎng)關(guān)路由到用戶服務(wù)user-service
#  uri: lb://USER-SERVICE
#  predicates:
#   - Pach=/USER-SERVICE/**

server:
 port: 5001


logging:
 level:
 org.springframework.cloud.gateway: trace
 org.springframework.http.server.reactive: debug
 org.springframework.web.reactive: debug
 reactor.ipc.netty: debug


eureka:
 client:
 service-url:
  defaultZone: http://localhost:5000/eureka/

feign:
 hystrix:
 enabled: true

配置項說明:

spring.cloud.gateway.discovery.locator.enabled:是否與服務(wù)發(fā)現(xiàn)組件進(jìn)行結(jié)合,通過 serviceId 轉(zhuǎn)發(fā)到具體的服務(wù)實例。默認(rèn)為false,設(shè)為true便開啟通過服務(wù)中心的自動根據(jù) serviceId 創(chuàng)建路由的功能。

eureka.client.service-url.defaultZone: http://localhost:5000/eureka/,指定注冊中心的地址,Spring Cloud Gateway從注冊中心獲取已經(jīng)注冊的服務(wù)列表。

logging.level.org.springframework.cloud.gateway: debug,開啟spring-Cloud-gateway的日志級別為debug,方便debug調(diào)試。

3.3 啟動測試

3.3.1 錯誤的路由規(guī)則訪問

訪問Spring Cloud Gateway對應(yīng)的server,當(dāng)訪問http://localhost:5000/order-service/order/getOrderPort的時候,會出現(xiàn)報錯內(nèi)容如下所示:


正確的Spring Cloud Gateway的默認(rèn)路由規(guī)則:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**

3.3.2 Gateway正確的路由規(guī)則測試


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 批量上傳Jar包到Maven私服的工具的方法

    批量上傳Jar包到Maven私服的工具的方法

    這篇文章主要介紹了批量上傳Jar包到Maven私服的工具的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • spring-boot中spring-boot-maven-plugin報紅錯誤及解決

    spring-boot中spring-boot-maven-plugin報紅錯誤及解決

    這篇文章主要介紹了spring-boot中spring-boot-maven-plugin報紅錯誤及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java中BeanUtils.copyProperties的11個坑總結(jié)

    Java中BeanUtils.copyProperties的11個坑總結(jié)

    我們?nèi)粘i_發(fā)中,經(jīng)常涉及到DO、DTO、VO對象屬性拷貝賦值,很容易想到org.springframework.beans.BeanUtils的copyProperties,它會自動通過反射機(jī)制獲取源對象和目標(biāo)對象的屬性,pyProperties,會有好幾個坑呢,本文將給大家總結(jié)一下遇到的坑,需要的朋友可以參考下
    2023-05-05
  • IDEA2022版本創(chuàng)建maven?web項目的兩種方式詳解

    IDEA2022版本創(chuàng)建maven?web項目的兩種方式詳解

    創(chuàng)建maven?web項目有兩種方式,一種是使用骨架方式,一種是不使用骨架的方式,本文結(jié)合實例代碼給大家介紹了IDEA2022版本創(chuàng)建maven?web項目的兩種方式,需要的朋友可以參考下
    2023-02-02
  • 詳解Intellij IDEA 2017 debug斷點調(diào)試技巧(總結(jié))

    詳解Intellij IDEA 2017 debug斷點調(diào)試技巧(總結(jié))

    這篇文章主要介紹了詳解Intellij IDEA 2017 debug斷點調(diào)試技巧(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java使用BigDecimal公式精確計算及精度丟失問題

    Java使用BigDecimal公式精確計算及精度丟失問題

    在工作中經(jīng)常會遇到數(shù)值精度問題,比如說使用float或者double的時候,可能會有精度丟失問題,下面這篇文章主要給大家介紹了關(guān)于Java使用BigDecimal公式精確計算及精度丟失問題的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 解決DataOutputStream亂碼的問題

    解決DataOutputStream亂碼的問題

    這篇文章主要介紹了DataOutputStream亂碼問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java泛型與數(shù)據(jù)庫應(yīng)用實例詳解

    Java泛型與數(shù)據(jù)庫應(yīng)用實例詳解

    這篇文章主要介紹了Java泛型與數(shù)據(jù)庫應(yīng)用,結(jié)合實例形式詳細(xì)分析了java繼承泛型類實現(xiàn)增刪改查操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-08-08
  • javaweb圖書商城設(shè)計之購物車模塊(3)

    javaweb圖書商城設(shè)計之購物車模塊(3)

    這篇文章主要為大家詳細(xì)介紹了javaweb圖書商城設(shè)計之購物車模塊的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Java將Word文件轉(zhuǎn)為OFD文件

    Java將Word文件轉(zhuǎn)為OFD文件

    大家好,本篇文章主要講的是Java將Word文件轉(zhuǎn)為OFD文件,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

都兰县| 怀宁县| 凤城市| 航空| 连平县| 玛纳斯县| 绥化市| 嘉峪关市| 华亭县| 广丰县| 鄂温| 龙岩市| 苍溪县| 凤冈县| 万山特区| 米泉市| 孝义市| 永寿县| 黄陵县| 汕头市| 大新县| 富民县| 甘南县| 富锦市| 深圳市| 若羌县| 砚山县| 玉环县| 阿勒泰市| 峡江县| 荃湾区| 保山市| 宝坻区| 南充市| 息烽县| 崇明县| 夏津县| 伊通| 班戈县| 荣昌县| 永登县|