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

微服務-統(tǒng)一網關Gateway

這篇具有很好參考價值的文章主要介紹了微服務-統(tǒng)一網關Gateway。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

網關的作用

  • 對用戶請求做身份認證、權限校驗
  • 將用戶請求路由到微服務,并實現(xiàn)負載均衡
  • 對用戶請求做限流

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

搭建網關服務

  1. 創(chuàng)建新module,命名為Gateway,引入依賴(1.SpringCloudGateway依賴;2.Eureka客戶端依賴或者nacos的服務發(fā)現(xiàn)依賴)。在本案例中使用的是Eureka。
<!--網關依賴-->
 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-gateway</artifactId>
 </dependency>
<!--Eureka客戶端依賴-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--nacos服務發(fā)現(xiàn)依賴-->
<dependency>    
	<groupId>com.alibaba.cloud</groupId>    
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> 
</dependency>
  1. 配置Application.yml的網關服務
  • 路由id:路由的唯一標示
  • 路由目標(uri):路由的目標地址,http代表固定地址,lb代表根據服務名負載均衡
  • 路由斷言(predicates):判斷路由的規(guī)則,
  • 路由過濾器(filters):對請求或響應做處理
server:
  port: 10010 # 網關端口
spring:
  application:
    name: gateway # 服務名稱
  cloud:
    gateway:
      routes: # 網關路由配置
        - id: user-service # 路由id,自定義,只要唯一即可
          # uri: http://127.0.0.1:8081 # 路由的目標地址 http就是固定地址
          uri: lb://userservice # 路由的目標地址 lb就是負載均衡,后面跟服務名稱
          predicates: # 路由斷言,也就是判斷請求是否符合路由規(guī)則的條件
            - Path=/user/** # 這個是按照路徑匹配,只要以/user/開頭就符合要求
        - id: order-service # 路由id,自定義,只要唯一即可
          uri: lb://orderservice
          predicates:
            - Path=/order/**
#    nacos:
#      server-addr: localhost:8848 # nacos地址
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/ # 注冊到eureka
  1. 啟動測試
    目錄結構
    微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構
    服務
    微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構
    瀏覽器的測試結果,可見當給網關服務發(fā)送請求時,對應于orderservice和userservice的請求被成功轉發(fā)到對應路由
    微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構
    微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構
  2. 總結搭建網關服務的流程
    微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

路由斷言工廠

predicates:路由斷言,判斷請求是否符合要求,符合則轉發(fā)到路由目的地

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

路由過濾器GatewayFilter

spring官方文檔
微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構用@RequestHeader來獲取
微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構
給所有的微服務都加一個請求頭,用默認過濾器

spring:  
  application:    
    name: gateway # 服務名稱  
  cloud:    
    nacos:      
      server-addr: localhost:8848 # nacos地址    
    gateway:      
      routes: # 網關路由配置        
        - id: user-service           
          uri: lb://userservice            
          predicates:             
            - Path=/user/**         
        - id: order-service          
          uri: lb://orderservice          
          predicates:            
            - Path=/order/**      
      default-filters: # 默認過濾器,會對所有的路由請求都生效        
        - AddRequestHeader=Truth, Itcast is freaking awesome! # 添加請求頭

全局過濾器

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

需求:定義全局過濾器,攔截請求,判斷請求的參數(shù)是否滿足下面條件:
參數(shù)中是否有authorization,
authorization參數(shù)值是否為admin
如果同時滿足則放行,否則攔截

@Order(-1) //順序,越小越靠前
@Component //定義組件
public class AuthorizeFilter implements GlobalFilter{    
	@Override    
	public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 1.獲取請求參數(shù)        
        MultiValueMap<String, String> params = exchange.getRequest().getQueryParams();        
        // 2.獲取authorization參數(shù)        
        String auth = params.getFirst("authorization");        
        // 3.校驗        
        if ("admin".equals(auth)) {            
        // 放行            
        return chain.filter(exchange);        
        }        
        // 4.攔截        
        // 4.1.禁止訪問        
        exchange.getResponse().setStatusCode(HttpStatus.FORBIDDEN);        
        // 4.2.結束處理        
        return exchange.getResponse().setComplete();    
    }
}

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

路由過濾器、defaultFilter、全局過濾器的執(zhí)行順序?
1、order值越小,優(yōu)先級越高
2、當order值一樣時,順序是defaultFilter最先,然后是局部的路由過濾器,最后是全局過濾器

cors跨域配置

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構

微服務-統(tǒng)一網關Gateway,微服務,微服務,gateway,架構文章來源地址http://www.zghlxwxcb.cn/news/detail-716525.html

到了這里,關于微服務-統(tǒng)一網關Gateway的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 5.微服務項目實戰(zhàn)---Gateway--服務網關,實現(xiàn)統(tǒng)一認證、鑒權、監(jiān)控、路由轉發(fā)等

    5.微服務項目實戰(zhàn)---Gateway--服務網關,實現(xiàn)統(tǒng)一認證、鑒權、監(jiān)控、路由轉發(fā)等

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

    2024年02月16日
    瀏覽(26)
  • 0201概述-網關Gateway-微服務架構

    0201概述-網關Gateway-微服務架構

    Spring Cloud Gateway是一個基于Spring Framework 5、Spring Boot 2和Project Reactor等技術開發(fā)的API網關,它提供了一系列的過濾器(Filter)來處理HTTP請求和響應,可以輕松地實現(xiàn)路由、負載均衡、限流、重試、熔斷、安全控制等功能,可以作為微服務架構中的入口和邊緣服務。 Spring Cloud

    2024年02月04日
    瀏覽(29)
  • Springcloud gateway網關+認證服務+token方式,入口層認證統(tǒng)一微服務鑒權【設計實踐】

    目錄 背景 實現(xiàn) gateway maven配置 yml配置 頁面登錄攔截配置類 白名單配置 token工具類 登錄配置類 全局過濾器類 項目啟動類 分布式項目的單點登錄分為認證服務(單點登錄服務端)和業(yè)務服務(單點登錄客戶端)兩個角色, 當訪問業(yè)務服務時,認證服務客戶端SDK校驗一下是否

    2024年02月15日
    瀏覽(21)
  • 微服務·架構組件之網關- Spring Cloud Gateway

    微服務·架構組件之網關- Spring Cloud Gateway

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

    2024年02月09日
    瀏覽(24)
  • 微服務架構-服務網關(Gateway)-權限認證(分布式session替代方案)

    微服務架構-服務網關(Gateway)-權限認證(分布式session替代方案)

    前面我們了解了Gateway組件的過濾器,這一節(jié)我們就探討一下Gateway在分布式環(huán)境中的一個具體用例-用戶鑒權。 從我們開始學JavaEE的時候,就被洗腦式灌輸了一種權限驗證的標準做法,那就是將用戶的登錄狀態(tài)保存到HttpSession中,比如在登錄成功后保存一對key-value值到session,

    2024年02月16日
    瀏覽(23)
  • SpringCloud學習(七)——統(tǒng)一網關Gateway

    SpringCloud學習(七)——統(tǒng)一網關Gateway

    到現(xiàn)在,我們可以使用Nacos對不同的微服務進行注冊并管理配置文件,也可以使用 Feign 對不同的微服務進行訪問,但是,這種訪問是任何人都可以訪問的,這是不行的,訪問之間應該有某種權限的控制,而且,如果所有允許的訪問都可以進入,那么如果有一個時間訪問量太過

    2024年02月06日
    瀏覽(20)
  • satoken+ gateway網關統(tǒng)一鑒權 初版

    satoken+ gateway網關統(tǒng)一鑒權 初版

    本博客內容 參考了satoken官網實現(xiàn),satoken官網地址: https://sa-token.cc/doc.html#/micro/gateway-auth jinyi-gateway 網關服務 jinyi-user-service 用戶服務 2.1 jinyi-user-api 2.2 jinyi-user-client 2.3 jinyi-user-provider jinyi-common 通用服務,定義了一些統(tǒng)一返回類,全局常量(R等) 項目層級關系截圖: 3.1jinyi-

    2023年04月20日
    瀏覽(19)
  • Spring Gateway + Oauth2 + Jwt網關統(tǒng)一鑒權

    Spring Gateway + Oauth2 + Jwt網關統(tǒng)一鑒權

    之前文章里說過,分布式系統(tǒng)的鑒權有兩種方式,一是在網關進行統(tǒng)一的鑒權操作,二是在各個微服務里單獨鑒權。 第二種方式比較常見,代碼網上也是很多。今天主要是說第一種方式。 重要前提:需要收集各個接口的uri路徑和所需權限列表的對應關系,并存入緩存。 服務

    2024年02月03日
    瀏覽(24)
  • GateWay網關自定義過濾器實現(xiàn)token校驗完成統(tǒng)一鑒權

    GateWay網關自定義過濾器實現(xiàn)token校驗完成統(tǒng)一鑒權

    gateWay---API網關,也可以稱為業(yè)務網關,主要服務于微服務的; (1)? 三大組件 路由(Route) ????????構建網關的基本模塊,由id(唯一標示)、目標URI、一組斷言、一組過濾器組成,如果斷言為true,則匹配該路由 ? 斷言(Predicate) ? ? ? ? ?可以使用它匹配來自HTTP請求的任何

    2024年02月08日
    瀏覽(23)
  • 【SpringCloud技術專題】「Gateway網關系列」(2)微服務網關服務的Gateway功能配置指南分析

    【SpringCloud技術專題】「Gateway網關系列」(2)微服務網關服務的Gateway功能配置指南分析

    Spring Cloud Gateway簡介 Spring Cloud Gateway是Spring Cloud體系的第二代網關組件,基于Spring 5.0的新特性WebFlux進行開發(fā),底層網絡通信框架使用的是Netty,所以其吞吐量高、性能強勁,未來將會取代第一代的網關組件Zuul。 Spring Cloud Gateway可以通過服務發(fā)現(xiàn)組件自動轉發(fā)請求,默認集成了

    2024年02月11日
    瀏覽(53)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包