国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

這篇具有很好參考價(jià)值的文章主要介紹了【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

這篇文章,主要介紹微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由映射規(guī)則、路由過濾器。

目錄

一、動(dòng)態(tài)路由配置

1.1、動(dòng)態(tài)URI路由配置

(1)引入eureka客戶端依賴

(2)添加路由配置

1.2、服務(wù)名稱轉(zhuǎn)發(fā)配置

二、斷言配置規(guī)則

2.1、路由斷言工廠類

2.2、Path路徑匹配

2.3、Query請(qǐng)求參數(shù)匹配

2.4、Method請(qǐng)求方式匹配

2.5、RemoteAddr遠(yuǎn)程地址匹配

2.6、Header請(qǐng)求頭匹配

三、路由過濾器

3.1、Path路徑過濾器

(1)RewritePath重寫路徑

(2)PrefixPath路徑前綴

(3)StripPrefix分隔前綴

(4)SetPath路徑參數(shù)

3.2、Parameter參數(shù)過濾器

3.3、Status狀態(tài)過濾器

3.4、自定義網(wǎng)關(guān)過濾器

(1)實(shí)現(xiàn)GatewayFilter接口

(2)配置自定義過濾器

3.5、自定義全局過濾器

(1)實(shí)現(xiàn)GlobalFilter接口


一、動(dòng)態(tài)路由配置

1.1、動(dòng)態(tài)URI路由配置

前一篇文章介紹了Gateway服務(wù)網(wǎng)關(guān)的基礎(chǔ)環(huán)境搭建,在基礎(chǔ)環(huán)境中,我們的路由地址uri是直接在application.yml配置文件中寫死的,這種方式不太靈活,因?yàn)橐坏┪⒎?wù)的IP和端口改變,此時(shí)就需要修改Gateway工程中的配置文件,然后重新啟動(dòng)網(wǎng)關(guān)工程。為了解決能夠讓路由不依賴于具體的IP和端口,這里就需要實(shí)現(xiàn)一個(gè)動(dòng)態(tài)路由的功能。

動(dòng)態(tài)路由,借助于eureka注冊(cè)中心就能夠?qū)崿F(xiàn),在Gateway工程中引入eureka-client客戶端依賴,從注冊(cè)中心獲取微服務(wù)可用列表,根據(jù)微服務(wù)名稱實(shí)現(xiàn)路由的配置。

(1)引入eureka客戶端依賴

<!-- 引入 Gateway 依賴 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- 引入eureka client依賴 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

(2)添加路由配置

  • 動(dòng)態(tài)路由配置中,必須使用【lb://微服務(wù)名稱】這種格式,【lb】是LoadBalanced的縮寫,表示負(fù)載均衡。
  • 動(dòng)態(tài)路由本質(zhì)上就是根據(jù)配置的微服務(wù)名稱,去注冊(cè)中心獲取到對(duì)應(yīng)微服務(wù)的IP地址和Port端口。
server:
  port: 9999
spring:
  application:
    name: gateway-eureka-server
  # 配置 gateway 路由信息
  cloud:
    gateway:
      # 指定路由信息
      routes:
        - id: consumer-client # 路由唯一標(biāo)識(shí),一般和微服務(wù)應(yīng)用名稱相同即可
          # 目標(biāo)路由的服務(wù)名稱,這里采用的是動(dòng)態(tài)路由,格式必須是:【lb://微服務(wù)名稱】
          uri: lb://consumer-client
          # 配置斷言,也就是請(qǐng)求的URI滿足哪些規(guī)則,才可以匹配當(dāng)前這個(gè)routes路由信息
          predicates:
            # 這里使用路由斷言,所有 /api/consumer 開頭的請(qǐng)求,都將轉(zhuǎn)發(fā)到 http://localhost:8081/ 這個(gè)服務(wù)上面
            - Path=/api/consumer/**

# eureka 配置
eureka:
  instance:
    prefer-ip-address: true # 開啟采用 IP 注冊(cè)形式
    # ${spring.cloud.client.ip-address} 這個(gè)屬性可以獲取到當(dāng)前機(jī)器的 IP 地址
    instance-id: ${spring.cloud.client.ip-address}:${server.port} # 設(shè)置當(dāng)前服務(wù)的實(shí)例ID,采用:IP+端口形式
  client:
    # 從 eureka 服務(wù)端獲取注冊(cè)信息
    fetch-registry: true
    # 將自身注冊(cè)到 eureka 服務(wù)端
    register-with-eureka: true
    service-url:
      # eureka 服務(wù)端地址
      defaultZone: http://localhost:8761/eureka/

到這里,動(dòng)態(tài)URI路由就配置成功啦。

1.2、服務(wù)名稱轉(zhuǎn)發(fā)配置

第一種動(dòng)態(tài)路由的配置方式中,每次新增一個(gè)微服務(wù)應(yīng)用都需要在Gateway工程的配置文件里面,新增一個(gè)路由配置信息,這樣也太麻煩了,Gateway還提供了一種動(dòng)態(tài)路由方式,叫做:服務(wù)名稱轉(zhuǎn)發(fā)。這種動(dòng)態(tài)路由的方式是將eureka注冊(cè)中心中的微服務(wù)名稱作為請(qǐng)求URI的前綴,然后客戶端訪問的時(shí)候,需要在對(duì)應(yīng)的請(qǐng)求接口地址中帶上微服務(wù)名稱,Gateway通過微服務(wù)名稱就可以實(shí)現(xiàn)服務(wù)的轉(zhuǎn)發(fā)功能。

spring:
  application:
    name: gateway-eureka-server
  # 配置 gateway 路由信息
  cloud:
    gateway:
      # 動(dòng)態(tài)服務(wù)轉(zhuǎn)發(fā)
      discovery:
        locator:
          enabled: true # 啟用動(dòng)態(tài)路由服務(wù)名稱轉(zhuǎn)發(fā)功能
          lower-case-service-id: true # 開啟服務(wù)名稱小寫

采用上面這種動(dòng)態(tài)路由配置方式,在訪問的時(shí)候,就需要指定微服務(wù)名稱,例如:【http://localhost:9999/consumer-client/api/consumer/getUserInfo?username=csdn2023】,這里訪問的時(shí)候,就是需要指定訪問的是【consumer-client】這個(gè)微服務(wù)應(yīng)用,然后Gateway就可以根據(jù)這個(gè)微服務(wù)名稱將這個(gè)請(qǐng)求轉(zhuǎn)發(fā)到這個(gè)應(yīng)用程序里面。

二、斷言配置規(guī)則

2.1、路由斷言工廠類

Gateway支持多種斷言方式,也就是支持多種路由配置規(guī)則,斷言是采用工廠模式創(chuàng)建的,這個(gè)工廠接口是RoutePredicateFactory,這個(gè)有很多個(gè)實(shí)現(xiàn)類,每一個(gè)實(shí)現(xiàn)類就是一種路由配置規(guī)則,常見的有下面這些:

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

使用最多的應(yīng)該是Path路徑匹配。

2.2、Path路徑匹配

Path是根據(jù)請(qǐng)求的URI進(jìn)行規(guī)則匹配,路徑匹配支持正則表達(dá)式,配置規(guī)則如下所示:

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

2.3、Query請(qǐng)求參數(shù)匹配

Gateway可以根據(jù)請(qǐng)求URI中的參數(shù)來進(jìn)行規(guī)則匹配,這種方式叫做:Query。Query參數(shù)匹配的格式:

  • Query=參數(shù)名稱1,參數(shù)名稱2,...(多個(gè)參數(shù)采用逗號(hào)分隔)。
  • 這種匹配模式下,如果請(qǐng)求的URI中包含對(duì)應(yīng)的參數(shù)(只要包含其中一個(gè)參數(shù),就可以匹配成功),就會(huì)滿足匹配規(guī)則。
  • 注意:需要注意的是,這種只能夠?qū)RI中的請(qǐng)求參數(shù)生效。
  • Query模式也支持正則表達(dá)式。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

2.4、Method請(qǐng)求方式匹配

Method是根據(jù)HTTP接口的請(qǐng)求方式來進(jìn)行匹配。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

Method匹配規(guī)則中,如果訪問的接口地址不滿足Gateway的匹配規(guī)則,則會(huì)報(bào)錯(cuò)404;如果是滿足Gateway匹配規(guī)則,但是服務(wù)提供者這不滿足調(diào)用方式,此時(shí)會(huì)報(bào)錯(cuò)405(表示請(qǐng)求方式不正確)。

2.5、RemoteAddr遠(yuǎn)程地址匹配

RemoteAddr是指定哪些IP地址可以訪問Gateway網(wǎng)關(guān),也就是說,Gateway會(huì)匹配對(duì)應(yīng)的IP地址來判斷是否滿足規(guī)則。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

2.6、Header請(qǐng)求頭匹配

Header規(guī)則是根據(jù)請(qǐng)求中,是否包含指定的Header請(qǐng)求頭字段,并且還可以設(shè)置請(qǐng)求字段的值是否滿足規(guī)則,例如:【\d+】表示數(shù)字。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

三、路由過濾器

Gateway中提供了兩種類型的過濾器,分別是:Gateway Filter網(wǎng)關(guān)過濾器和Global Filter全局過濾器。GatewayFilter網(wǎng)關(guān)過濾器需要在application.yml配置文件中,使用【spring.cloud.gateway.routes.filters】屬性進(jìn)行配置;GlobalFilter全局過濾器不需要在配置文件中設(shè)置,它是作用于所有的路由上面。

3.1、Path路徑過濾器

Path路徑過濾器可以對(duì)請(qǐng)求的URI路徑進(jìn)行一些操作,例如:重寫路徑。

(1)RewritePath重寫路徑

路徑重寫可以將客戶端的請(qǐng)求URI重新轉(zhuǎn)換成另外一個(gè)請(qǐng)求URI,例如:將【/api-gateway/api/consumer/demo】路徑重寫成【/api/consumer/demo】路徑,Gateway將采用重寫之后的請(qǐng)求,去調(diào)用下游系統(tǒng),從而實(shí)現(xiàn)接口的調(diào)用。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

(2)PrefixPath路徑前綴

PrefixPath是路徑前綴過濾器,這個(gè)過濾器可以為請(qǐng)求添加URI前綴,例如:當(dāng)我們請(qǐng)求【/consumer/demo】接口的時(shí)候,并且設(shè)置PrefixPath等于【/api】,那么這個(gè)過濾器最終形成的請(qǐng)求將是【/api/consumer/demo】,Gateway會(huì)通過【/api/consumer/demo】調(diào)用下游系統(tǒng)的接口。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

(3)StripPrefix分隔前綴

StripPrefix是一個(gè)用于分隔路徑的過濾器,它會(huì)根據(jù)【/】斜杠將請(qǐng)求分隔成一個(gè)數(shù)組,StripPrefix的參數(shù)值就是將前面幾個(gè)元素刪除,只保留剩余的路徑。例如:請(qǐng)求【/api/api/api/consumer/demo】接口,設(shè)置【StripPrefix=2】,表示將接口前兩個(gè)路徑分割掉,最終得到的路徑是【/api/consumer/demo】。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

(4)SetPath路徑參數(shù)

SetPath用于路徑參數(shù)的一個(gè)過濾器,它可以將URI路徑中的路徑參數(shù)采用map保存起來,然后在過濾器中可以通過【{segment}】獲取出來。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

3.2、Parameter參數(shù)過濾器

Parameter參數(shù)過濾器,可以對(duì)網(wǎng)關(guān)接收到的請(qǐng)求添加、刪除一些參數(shù)信息。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

3.3、Status狀態(tài)過濾器

Status狀態(tài)過濾器,是用于設(shè)置接口響應(yīng)狀態(tài)碼的一個(gè)過濾器。正常情況下,接口調(diào)用成功之后,都是返回200的狀態(tài)碼,我們可以通過Status過濾器,修改返回的狀態(tài)碼。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

3.4、自定義網(wǎng)關(guān)過濾器

自定義網(wǎng)關(guān)過濾器,只需要編寫一個(gè)類實(shí)現(xiàn)【GatewayFilter】接口,重寫其中的方法即可。

(1)實(shí)現(xiàn)GatewayFilter接口

package com.gitee.demo.filter;

import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.core.Ordered;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

/**
 * @version 1.0.0
 * @Date: 2023/4/19 21:12
 * @Copyright (C) ZhuYouBin
 * @Description: 自定義網(wǎng)關(guān)過濾器
 */
public class CustomGatewayFilter implements GatewayFilter, Ordered {
    
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        System.out.println("執(zhí)行自定義GatewayFilter網(wǎng)關(guān)過濾器......");
        return chain.filter(exchange);
    }

    @Override
    public int getOrder() {
        return 0;
    }
}

(2)配置自定義過濾器

這里通過配置類的形式將我們自定義的網(wǎng)關(guān)過濾器加入到Gateway里面。

package com.gitee.demo.config;

import com.gitee.demo.filter.CustomGatewayFilter;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @version 1.0.0
 * @Date: 2023/4/19 21:15
 * @Copyright (C) ZhuYouBin
 * @Description: Gateway 網(wǎng)關(guān)路由配置類
 */
@Configuration
public class GatewayRouteConfig {
    
    @Bean
    public RouteLocator routeLocator(RouteLocatorBuilder builder) {
        // 要按照順序調(diào)用
        return builder.routes().route(r -> r
                .path("/**")
                .uri("lb://consumer-client")
                .filters(new CustomGatewayFilter())
                .id("consumer-client")).build();
    }
    
}

啟動(dòng)工程,訪問接口,查看控制臺(tái)輸出日志。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

3.5、自定義全局過濾器

Gateway已經(jīng)給我們提供了一些全局過濾器,不需要配置,因?yàn)檫@些默認(rèn)的過濾器都是全局生效的,但是Gateway也允許我們自定義全局過濾器,通過自定義全局過濾器,可以實(shí)現(xiàn)一些功能,例如:統(tǒng)一鑒權(quán)、訪問限流。

(1)實(shí)現(xiàn)GlobalFilter接口

package com.gitee.demo.filter;

import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

/**
 * @version 1.0.0
 * @Date: 2023/4/19 21:24
 * @Copyright (C) ZhuYouBin
 * @Description: 全局過濾器
 */
// 這里通過注解將其注入 IOC 容器里面即可
@Component
public class CustomGlobalFilter implements GlobalFilter, Ordered {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        System.out.println("執(zhí)行全局過濾器......");
        return chain.filter(exchange);
    }

    @Override
    public int getOrder() {
        return 0;
    }
}

啟動(dòng)工程,訪問任意接口,此時(shí)都會(huì)執(zhí)行全局過濾器。

【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器

到此,Gateway動(dòng)態(tài)路由、配置路由規(guī)則就介紹完啦。

綜上,這篇文章結(jié)束了,主要介紹微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由映射規(guī)則、路由過濾器。文章來源地址http://www.zghlxwxcb.cn/news/detail-422819.html

到了這里,關(guān)于【微服務(wù)筆記17】微服務(wù)組件之Gateway實(shí)現(xiàn)動(dòng)態(tài)路由、配置路由規(guī)則、路由過濾器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringCloud nacos 集成 gateway ,實(shí)現(xiàn)動(dòng)態(tài)路由

    SpringCloud nacos 集成 gateway ,實(shí)現(xiàn)動(dòng)態(tài)路由

    ?? 作者: Linux猿 ?? 簡介: CSDN博客專家??,華為云享專家??,Linux、C/C++、云計(jì)算、物聯(lián)網(wǎng)、面試、刷題、算法盡管咨詢我,關(guān)注我,有問題私聊! ?? 歡迎小伙伴們點(diǎn)贊??、收藏?、留言?? 目錄 一、準(zhǔn)備工作 1.1 下載代碼 1.2 運(yùn)行代碼 二、集成 gateway 2.1 修改 pom.xml 2

    2024年02月16日
    瀏覽(22)
  • springcloud gateway正確路由配置 uri找不到服務(wù)?

    引言 在集成nacos組件以及springcloudalibaba 的gateway時(shí),出現(xiàn)正確配置,如下文配置,卻在測試demo調(diào)用該服務(wù)的時(shí)候,無法路由到此服務(wù),說是無效服務(wù)。經(jīng)過查閱資料得知其命名不符合gateway的命名規(guī)范,因而無法識(shí)別。規(guī)范詳情見下文。 gateway可以識(shí)別的nacos服務(wù)名,命名規(guī)范

    2024年01月19日
    瀏覽(22)
  • 【微服務(wù)筆記16】微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建

    【微服務(wù)筆記16】微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建

    這篇文章,主要介紹微服務(wù)組件之Gateway服務(wù)網(wǎng)關(guān)基礎(chǔ)環(huán)境搭建、高可用網(wǎng)關(guān)環(huán)境搭建。 目錄 一、Gateway服務(wù)網(wǎng)關(guān) 1.1、什么是Gateway 1.2、Gateway基礎(chǔ)環(huán)境搭建 (1)基礎(chǔ)環(huán)境介紹 (2)引入依賴 (3)添加路由配置信息 (4)運(yùn)行測試 1.3、Gateway三個(gè)核心概念 1.4、Gateway配置信息 (

    2024年02月07日
    瀏覽(27)
  • Spring Cloud 2022.x版本使用gateway和nacos實(shí)現(xiàn)動(dòng)態(tài)路由和負(fù)載均衡

    Spring Cloud 2022.x版本使用gateway和nacos實(shí)現(xiàn)動(dòng)態(tài)路由和負(fù)載均衡

    Spring Cloud Alibaba官方:https://sca.aliyun.com/zh-cn/ Spring Cloud官網(wǎng):https://spring.io/projects/spring-cloud Spring Cloud與Spring Cloud Alibaba版本對(duì)應(yīng)說明:https://sca.aliyun.com/zh-cn/docs/2022.0.0.0/overview/version-explain 下載地址:https://github.com/alibaba/nacos/releases 下載編譯壓縮并解壓:nacos-server-2.2.3.zip。 1.1、

    2024年02月11日
    瀏覽(50)
  • 5.微服務(wù)項(xiàng)目實(shí)戰(zhàn)---Gateway--服務(wù)網(wǎng)關(guān),實(shí)現(xiàn)統(tǒng)一認(rèn)證、鑒權(quán)、監(jiān)控、路由轉(zhuǎn)發(fā)等

    5.微服務(wù)項(xiàng)目實(shí)戰(zhàn)---Gateway--服務(wù)網(wǎng)關(guān),實(shí)現(xiàn)統(tǒng)一認(rèn)證、鑒權(quán)、監(jiān)控、路由轉(zhuǎn)發(fā)等

    大家都都知道在微服務(wù)架構(gòu)中,一個(gè)系統(tǒng)會(huì)被拆分為很多個(gè)微服務(wù)。那么作為客戶端要如何去調(diào)用 這么多的微服務(wù)呢?如果沒有網(wǎng)關(guān)的存在,我們只能在客戶端記錄每個(gè)微服務(wù)的地址,然后分別去調(diào)用。 ? 這樣的架構(gòu),會(huì)存在著諸多的問題: 客戶端多次請(qǐng)求不同的微服務(wù),

    2024年02月16日
    瀏覽(25)
  • 簡單明了!網(wǎng)關(guān)Gateway路由配置filters實(shí)現(xiàn)路徑重寫及對(duì)應(yīng)正則表達(dá)式的解析

    簡單明了!網(wǎng)關(guān)Gateway路由配置filters實(shí)現(xiàn)路徑重寫及對(duì)應(yīng)正則表達(dá)式的解析

    前端需要發(fā)送一個(gè)這樣的請(qǐng)求,但出現(xiàn)404 首先解析請(qǐng)求的變化: ?http://www.51xuecheng.cn/api/checkcode/pic 1.請(qǐng)求先打在nginx, www.51xuecheng.cn/api/checkcode/pic 部分匹配到了之后會(huì)轉(zhuǎn)發(fā)給網(wǎng)關(guān)進(jìn)行處理變成 localhost:63010/checkcode/pic ?2.然后再轉(zhuǎn)發(fā)到網(wǎng)關(guān)上,網(wǎng)關(guān)上的路由轉(zhuǎn)發(fā)配置如下圖。然

    2024年02月06日
    瀏覽(36)
  • springcloud gateway動(dòng)態(tài)路由

    動(dòng)態(tài)每秒調(diào)用數(shù)據(jù)庫,加載路由信息到路由定義(RouteDefinition)中 主要是繼承? RouteDefinitionRepository接口: 如果項(xiàng)目沒有自定義的RouteDefinitionRepository 則會(huì)加載InMemoryRouteDefinitionRepository 默認(rèn)將加載的規(guī)則存放在內(nèi)存,加載application.properties文件中配置的路由規(guī)則,InMemory加載內(nèi)

    2024年02月02日
    瀏覽(17)
  • springCloud之Gateway動(dòng)態(tài)路由

    ? ? ? ? 學(xué)習(xí)gateway網(wǎng)關(guān)時(shí),是以產(chǎn)品應(yīng)用為目的,打算做一個(gè)類似于SAAS平臺(tái),網(wǎng)關(guān)負(fù)責(zé)統(tǒng)一的鑒權(quán),日志記錄,對(duì)外屏蔽真實(shí)的訪問地址。路由信息也不能是寫死在配置文件的,必須是提供管理頁面可維護(hù)的。所以就略過配置文件,直接開啟動(dòng)態(tài)路由的實(shí)現(xiàn)。 一、gateway動(dòng)態(tài)

    2024年02月08日
    瀏覽(13)
  • gateway動(dòng)態(tài)路由和普通路由+負(fù)載均衡,借助eureka

    gateway 中的動(dòng)態(tài)路由和普通路由是相互獨(dú)立配置的 注意consumer使用了openFeign遠(yuǎn)程調(diào)用的配置文件中

    2024年02月11日
    瀏覽(30)
  • springcloud3 GateWay章節(jié)-Eureka+gateway動(dòng)態(tài)路由負(fù)載均衡1

    springcloud3 GateWay章節(jié)-Eureka+gateway動(dòng)態(tài)路由負(fù)載均衡1

    gateway相當(dāng)于所有服務(wù)的門戶,將客戶端請(qǐng)求與服務(wù)端應(yīng)用相分離,客戶端請(qǐng)求通過gateway后由定義的路由和斷言進(jìn)行轉(zhuǎn)發(fā),路由代表需要轉(zhuǎn)發(fā)請(qǐng)求的地址,斷言相當(dāng)于請(qǐng)求這些地址時(shí)所滿足的條件,只有同時(shí)符合路由和斷言才給予轉(zhuǎn)發(fā) gateWay是微服務(wù)的API網(wǎng)關(guān),能夠?qū)崿F(xiàn)服務(wù)的

    2024年02月12日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包