欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1.Spring Gateway概述

1.1 什么是Spring Cloud Gateway

Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術(shù)開(kāi)發(fā)的網(wǎng)關(guān),Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單而有效的統(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)控/埋點(diǎn),和限流等。


1.2 Spring Cloud Gateway的功能

Spring Cloud Gateway 的特征:

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

2. Spring Cloud Gateway的工程流程

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

2.1 Pre和POST兩種類型的過(guò)濾器

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

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

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

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

http://ZUUL_HOST:ZUUL_PORT/微服務(wù)在Eureka上的serviceId/** 會(huì)被轉(zhuǎn)發(fā)到serviceId對(duì)應(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/大寫(xiě)的serviceId/**

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

實(shí)例代碼:

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

分別新建上面這四個(gè)服務(wù),詳見(jiàn) 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é)合,通過(guò) serviceId(必須設(shè)置成大寫(xiě)) 轉(zhuǎn)發(fā)到具體的服務(wù)實(shí)例。默認(rèn)為false,設(shè)為true便開(kāi)啟通過(guò)服務(wù)中心的自動(dòng)根據(jù) serviceId 創(chuàng)建路由的功能。
  locator:  #路由訪問(wèn)方式:http://Gateway_HOST:Gateway_PORT/大寫(xiě)的serviceId/**,其中微服務(wù)應(yīng)用名默認(rèn)大寫(xiě)訪問(wè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

配置項(xiàng)說(shuō)明:

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

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

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

3.3 啟動(dòng)測(cè)試

3.3.1 錯(cuò)誤的路由規(guī)則訪問(wèn)

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


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

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


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

相關(guān)文章

  • 深入理解Spring Boot的日志管理

    深入理解Spring Boot的日志管理

    這篇文章主要給大家深入的介紹了Spring Boot日志管理的相關(guān)資料,文中介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • Spring中常用注解的用法

    Spring中常用注解的用法

    這篇文章主要介紹了Spring中常用注解的用法,Spring注解方式減少了配置文件內(nèi)容,更加便于管理,并且使用注解可以大大提高了開(kāi)發(fā)效率,注解本身是沒(méi)有功能的,和xml一樣,注解和xml都是一種元數(shù)據(jù),元數(shù)據(jù)即解釋數(shù)據(jù)的數(shù)據(jù),也就是所謂的配置,需要的朋友可以參考下
    2023-08-08
  • 在SpringBoot中使用YourKit進(jìn)行性能調(diào)優(yōu)的教程詳解

    在SpringBoot中使用YourKit進(jìn)行性能調(diào)優(yōu)的教程詳解

    在應(yīng)用程序的開(kāi)發(fā)過(guò)程中,性能調(diào)優(yōu)是一個(gè)重要的環(huán)節(jié),在SpringBoot應(yīng)用程序中,我們可以使用YourKit來(lái)進(jìn)行性能調(diào)優(yōu),YourKit是一款非常強(qiáng)大的Java性能調(diào)優(yōu)工具,在本文中,我們將介紹如何在 SpringBoot應(yīng)用程序中使用YourKit進(jìn)行性能調(diào)優(yōu)
    2023-06-06
  • 使用java寫(xiě)的矩陣乘法實(shí)例(Strassen算法)

    使用java寫(xiě)的矩陣乘法實(shí)例(Strassen算法)

    這篇文章主要給大家介紹了關(guān)于如何使用java寫(xiě)的矩陣乘法(Strassen算法)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Flink入門級(jí)應(yīng)用域名處理示例

    Flink入門級(jí)應(yīng)用域名處理示例

    這篇文章主要介紹了一個(gè)比較簡(jiǎn)單的入門級(jí)Flink應(yīng)用,代碼很容易寫(xiě),主要用到的算子有FlatMap、KeyBy、Reduce,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java使用非覆蓋的方法實(shí)現(xiàn)替換PDF中的文本

    Java使用非覆蓋的方法實(shí)現(xiàn)替換PDF中的文本

    這篇文章主要為大家詳細(xì)介紹了Java如何使用非覆蓋的方法實(shí)現(xiàn)替換PDF中的文本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 一文掌握Spring?中?@Component?和?@Bean?區(qū)別(最新推薦)

    一文掌握Spring?中?@Component?和?@Bean?區(qū)別(最新推薦)

    ?@Component?用于標(biāo)識(shí)一個(gè)普通的類,@Bean用于配置類里面,在方法上面聲明和配置?Bean?對(duì)象,這篇文章主要介紹了Spring?中?@Component?和?@Bean?區(qū)別(最新推薦),需要的朋友可以參考下
    2024-04-04
  • spring boot結(jié)合Redis實(shí)現(xiàn)工具類的方法示例

    spring boot結(jié)合Redis實(shí)現(xiàn)工具類的方法示例

    這篇文章主要介紹了spring boot結(jié)合Redis實(shí)現(xiàn)工具類的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • springboot整合mail實(shí)現(xiàn)郵箱的發(fā)送功能

    springboot整合mail實(shí)現(xiàn)郵箱的發(fā)送功能

    本文分步驟給大家介紹springboot整合mail實(shí)現(xiàn)郵箱的發(fā)送功能,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • Java concurrency之鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency之鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency之鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論