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

Spring Cloud Gateway的快速使用

這篇具有很好參考價值的文章主要介紹了Spring Cloud Gateway的快速使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

環(huán)境前置搭建Nacos:點擊跳轉(zhuǎn)

Spring Cloud Gateway Docs

新建gateway網(wǎng)關(guān)模塊

Spring Cloud Gateway的快速使用,微服務(wù),gateway

pom.xml導(dǎo)入依賴

<!-- 網(wǎng)關(guān) -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- nacos服務(wù)發(fā)現(xiàn)依賴 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

?文章來源地址http://www.zghlxwxcb.cn/news/detail-681406.html


?

編寫啟動類GatewayApplication.java(不是新模塊就不用編寫)

@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

?


?

application.yml配置gateway

server:
  port: 10010 # 網(wǎng)關(guān)端口
spring:
  application:
    name: gateway # 服務(wù)名稱
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes: # 網(wǎng)關(guān)路由配置
        - id: user-service # 路由id,自定義,只要唯一即可
          # uri: http://127.0.0.1:8081 # 路由的目標地址 http就是固定地址
          uri: lb://userservice # 路由的目標地址 lb就是負載均衡,后面跟服務(wù)名稱
          predicates: # 路由斷言,也就是判斷請求是否符合路由規(guī)則的條件
            - Path=/user/** # 這個是按照路徑匹配,只要以/user/開頭就符合要求
        - id: order-service
          uri: lb://orderservice
          predicates:
            - Path=/order/**

?


?

完成以上配置,直接啟動即可,訪問 http://localhost:10010Spring Cloud Gateway的快速使用,微服務(wù),gateway

?


?

GatewayFilter Factories 過濾器工廠:GatewayFilter Factories文檔

application.yml 中filters屬性
spring:
  cloud:
    gateway:
      routes: # 網(wǎng)關(guān)路由配置
        - id: user-service # 路由id,自定義,只要唯一即可
          uri: lb://userservice # 路由的目標地址 lb就是負載均衡,后面跟服務(wù)名稱
          predicates: # 路由斷言,也就是判斷請求是否符合路由規(guī)則的條件
            - Path=/user/** # 這個是按照路徑匹配,只要以/user/開頭就符合要求
          filters: # 過濾器給請求頭添加信息
            - AddRequestHeader=info, header add new info # 格式:key, value  => ['info']="header add new info"
       - id: order-service
          uri: lb://orderservice
          predicates:
            - Path=/order/**
          filters:
            - AddRequestHeader=info, header add new info  # ['info']="header add new info"
      default-filters: # 默認過濾項
        - AddRequestHeader=DefaultInfo, all service add new info # ['DefaultInfo']="all service add new info."

?

全局過濾器:由于配置無法處理業(yè)務(wù),可以使用代碼實現(xiàn)過濾器
新建AuthorizeFilter.java實現(xiàn)GlobalFilter 接口重寫 filter方法
@Order(-1)  // 過濾器執(zhí)行鏈的順序
@Component
public class AuthorizeFilter implements GlobalFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 獲取請求參數(shù)
        MultiValueMap<String, String> params = exchange.getRequest().getQueryParams();
        // 獲取authorization參數(shù)
        String auth = params.getFirst("authorization");
        // 校驗
        if ("admin".equals(auth)) {
            // 放行
            return chain.filter(exchange);
        }
        // 設(shè)置狀態(tài)碼
        exchange.getResponse().setStatusCode(HttpStatus.FORBIDDEN);
        // 結(jié)束處理, 沒有通過直接返回
        return exchange.getResponse().setComplete();
    }
}

執(zhí)行順序大致為:client → 路由 → 默認過濾器 → 局部(路由)過濾器 → 全局過濾器
Spring Cloud Gateway的快速使用,微服務(wù),gateway

?


?

解決跨域問題

跨域問題:瀏覽器禁止請求的發(fā)起者與服務(wù)端發(fā)生跨域ajax請求,請求被瀏覽器攔截的問題。
跨域問題并不是提供者和消費者的問題,而是瀏覽器禁止跨域?qū)е碌摹?/code>

application.yml
spring:
  cloud:
    gateway:
      # ...
      globalcors: # 全局的跨域處理
        add-to-simple-url-handler-mapping: true  # 解決options請求被攔截問題
        corsConfigurations:
          '[/**]':
            allowedOrigins: # 允許哪些網(wǎng)站的跨域請求 
              - "http://localhost:5500"
              - "http://127.0.0.1:5500"
            allowedMethods: # 允許的跨域ajax的請求方式
              - "GET"
              - "POST"
              - "DELETE"
              - "PUT"
              - "OPTIONS"
            allowedHeaders: "*" # 允許在請求中攜帶的頭信息
            allowCredentials: true # 是否允許攜帶cookie
            maxAge: 360000 # 這次跨域檢測的有效期,避免每次檢查損耗效率

?


更多用法可以參考:Spring Cloud Gateway Docs

?

到了這里,關(guān)于Spring Cloud Gateway的快速使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring Cloud Gateway快速入門(二)——斷言工廠

    Spring Cloud Gateway快速入門(二)——斷言工廠

    Spring Cloud Gateway包含許多內(nèi)置的Route Predicate工廠。所有這些斷言都匹配HTTP請求的不同屬性。多路由斷言工廠通過and組合。 官方提供的路由工廠: 這些斷言工廠的配置方式,參照官方文檔:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.0.RELEASE/single/spring-cloud-gateway.html

    2024年02月07日
    瀏覽(26)
  • Spring Cloud Gateway快速入門(三)——過濾器

    Gateway過濾器是Spring Cloud Gateway提供的一種機制,用于對進入網(wǎng)關(guān)的請求和返回進行處理和轉(zhuǎn)換。它可以用于實現(xiàn)各種功能,如請求鑒權(quán)、請求轉(zhuǎn)發(fā)、請求限流、請求重試等。 網(wǎng)關(guān)過濾器是Spring Cloud Gateway提供的一種機制,用于在請求進入網(wǎng)關(guān)和響應(yīng)離開網(wǎng)關(guān)時進行一些預(yù)處理

    2024年02月04日
    瀏覽(47)
  • Spring Cloud Gateway使用K8S (Kubernetes)的云原生服務(wù)發(fā)現(xiàn)

    Spring Cloud Gateway通常使用注冊中心作為服務(wù)發(fā)現(xiàn),但在Kubernetes里面,由于K8S已經(jīng)集成了服務(wù)注冊與發(fā)現(xiàn)功能,不必要再另外使用注冊中心了,而且,還可以使用K8S的服務(wù)監(jiān)控對服務(wù)進行監(jiān)控。 本來按照網(wǎng)上教程,升級到最新版的springboot3.x,結(jié)果發(fā)現(xiàn)無法發(fā)現(xiàn)服務(wù)。后來按著

    2024年04月22日
    瀏覽(95)
  • 微服務(wù) – Spring Cloud – Gateway

    微服務(wù)可能分布在不同的主機上,這樣有許多缺點:前端需要硬編碼調(diào)用不同地址的微服務(wù)很麻煩;存在跨域訪問的問題;微服務(wù)地址直接暴露是不安全的。還有所以需要為前端提供一個統(tǒng)一的訪問入口。Gateway 就是用于解決以上問題的框架。 路由轉(zhuǎn)發(fā) 負載均衡 安全認證 日

    2024年02月10日
    瀏覽(19)
  • Spring cloud教程Gateway服務(wù)網(wǎng)關(guān)

    Spring cloud教程Gateway服務(wù)網(wǎng)關(guān)

    寫在前面的話: 本筆記在參考網(wǎng)上視頻以及博客的基礎(chǔ)上,只做個人學(xué)習(xí)筆記,如有侵權(quán),請聯(lián)系刪除,謝謝! Spring Cloud Gateway 是 Spring Cloud 的一個全新項目,該項目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等響應(yīng)式編程和事件流技術(shù)開發(fā)的網(wǎng)關(guān),它旨在為微服務(wù)架構(gòu)提

    2024年02月08日
    瀏覽(31)
  • Spring Cloud第二季--服務(wù)網(wǎng)關(guān)Gateway

    Spring Cloud第二季--服務(wù)網(wǎng)關(guān)Gateway

    Spring Cloud Gateway是在Spring生態(tài)系統(tǒng)之上構(gòu)建的API網(wǎng)關(guān)服務(wù),基于Spring 5,Spring Boot 2和 Project Reactor等技術(shù)。 Gateway 使用的Webflux中的reactor-netty響應(yīng)式編程組件,底層使用了 Netty 通訊框架。Spring Cloud Gateway能干嘛呢? Gateway是原zuul1.x版的替代。 Spring Cloud Gateway 與 Zuul的區(qū)別: Zuu

    2024年02月03日
    瀏覽(24)
  • 微服務(wù)動態(tài)權(quán)限管理方案(Spring Cloud Gateway+Spring Cloud Security)

    微服務(wù)動態(tài)權(quán)限管理方案(Spring Cloud Gateway+Spring Cloud Security)

    微服務(wù)認證方案的大體方向是統(tǒng)一在網(wǎng)關(guān)層面認證鑒權(quán),微服務(wù)只負責業(yè)務(wù),和鑒權(quán)完全隔離 整體包含以下四個角色 客戶端 :需要訪問微服務(wù)資源 網(wǎng)關(guān) :負責轉(zhuǎn)發(fā)、認證、鑒權(quán) OAuth2.0授權(quán)服務(wù) :負責認證授權(quán)頒發(fā)令牌 微服務(wù)集合 :提供資源的一系列服務(wù)。 這里的客戶端

    2024年02月12日
    瀏覽(21)
  • 微服務(wù)·架構(gòu)組件之網(wǎng)關(guān)- Spring Cloud Gateway

    微服務(wù)·架構(gòu)組件之網(wǎng)關(guān)- Spring Cloud Gateway

    微服務(wù)架構(gòu)已成為構(gòu)建現(xiàn)代化應(yīng)用程序的關(guān)鍵范式之一,它將應(yīng)用程序拆分成多個小型、可獨立部署的服務(wù)。Spring Cloud Gateway是Spring Cloud生態(tài)系統(tǒng)中的一個關(guān)鍵組件,用于構(gòu)建和管理微服務(wù)架構(gòu)中的網(wǎng)關(guān)。本報告旨在調(diào)查和介紹Spring Cloud Gateway的核心概念、架構(gòu)、功能以及其在

    2024年02月09日
    瀏覽(24)
  • springboot整合spring cloud gateway搭建網(wǎng)關(guān)服務(wù)

    springboot整合spring cloud gateway搭建網(wǎng)關(guān)服務(wù)

    spring cloud netflix zuul、spring cloud gateway是最常見的微服務(wù)網(wǎng)關(guān),通過網(wǎng)關(guān),我們可以在請求到達后端指定服務(wù)之前/后端服務(wù)處理完業(yè)務(wù)響應(yīng)數(shù)據(jù)之后對響應(yīng)進行對請求/響應(yīng)進行處理。 比如常見的參數(shù)校驗、接口鑒權(quán)等等,在后端服務(wù)的攔截器和過濾器能做的事在網(wǎng)關(guān)都可以做

    2024年02月07日
    瀏覽(26)
  • 微服務(wù)網(wǎng)關(guān):Spring Cloud Zuul 升級 Spring Cloud Gateway 的核心要點

    微服務(wù)網(wǎng)關(guān):Spring Cloud Zuul 升級 Spring Cloud Gateway 的核心要點

    在routes路由規(guī)則中,根據(jù)path去匹配,如果匹配中,就使用對應(yīng)的路由規(guī)則進行請求轉(zhuǎn)發(fā) 如果無法從routes中匹配,則根據(jù)path用“/”去截取第一段作為服務(wù)名進行請求轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)時,默認將第一段截取調(diào) 如果截取的服務(wù)名不在注冊中心中存在服務(wù),則報錯404 在routes路由規(guī)則中

    2024年02月07日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包