国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Cloud Gateway的入門案例

lavnFan / 2029人閱讀

摘要:原文摘要本篇文章主要介紹了什么是,并基于的版本編寫一個(gè)的入門案例,即基本代理的路由轉(zhuǎn)發(fā)配置。作為生態(tài)系中的網(wǎng)關(guān),目標(biāo)是替代,其不僅提供統(tǒng)一的路由方式,并且基于鏈的方式提供了網(wǎng)關(guān)基本的功能,例如安全,監(jiān)控埋點(diǎn),和限流等。

原文:http://xujin.org/sc/gw/gw-01/

摘要:本篇文章主要介紹了什么是Spring Cloud Gateway,并基于Spring Cloud Gateway的Finchley.M8版本編寫一個(gè)Spring Cloud Gateway的入門案例,即基本代理的路由轉(zhuǎn)發(fā)配置。

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)提供一種簡(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),和限流等。

2. Spring Cloud Gateway入門案例 2.1 創(chuàng)建maven工程

配置Spring Cloud Gateway的相關(guān)Maven依賴


    
        ch18-1
        cn.springcloud.book
        1.0-SNAPSHOT
    

    4.0.0

    ch18-1-gateway
    jar

    ch18-1-gateway
    http://springcloud.cn

    
        Finchley.M8
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

    
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    

    
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    


2.2 Spring Cloud Gateway主程序

SpringCloudGatewayApplication.java,代碼如下所示:

package cn.springcloud.book.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringCloudGatewayApplication {


    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                //basic proxy
                .route(r -> r.path("/baidu")
                        .uri("http://baidu.com:80/")
                ).build();
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudGatewayApplication.class, args);
    }
}
2.3 編寫application.yml文件
server:
  port: 8080
spring:
  application:
    name: spring-cloud-gateway

spring:
  cloud:
    gateway:
      routes:
      - id: xujin_route
        uri: http://www.xujin.org:80/
        predicates:
        - Path=/xujin

logging:
  level:
    org.springframework.cloud.gateway: TRACE
    org.springframework.http.server.reactive: DEBUG
    org.springframework.web.reactive: DEBUG
    reactor.ipc.netty: DEBUG
2.4 基本代理路由配置等同寫法

Spring Cloud Gateway提供了兩種配置路由規(guī)則的方法

第一:通過(guò)@Bean自定義RouteLocator

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
    return builder.routes()
            //basic proxy
            .route(r -> r.path("/baidu")
            .uri("http://baidu.com:80/")
            ).build();
}

第二:通過(guò)屬于文件或者yml文件配置

spring:
  cloud:
    gateway:
      routes:
      - id: xujin_route
        uri: http://www.xujin.org:80/
        predicates:
        - Path=/xujin
PS,以上兩種方式等同。
2.5 錯(cuò)誤的示范代碼如下:
@Bean
public RouteLocator routingConfig() {
    return Routes.locator()
      .route("xujin_route")
      .uri("http://xujin.org")
      .predicate(host("**.xujin.org"))
      .build();
}
溫馨提示,上面這種寫法是基于Spring Cloud Gateway FM4的版本,相關(guān)代碼已廢棄,目前Spring Cloud Gateway將會(huì)在FM9之后Realese。
2.6 運(yùn)行測(cè)試

訪問(wèn)http://localhost:8080/baidu,路由轉(zhuǎn)發(fā)到http://www.baidu.com

訪問(wèn)http://localhost:8080/xujin,路由轉(zhuǎn)發(fā)到[http://xujin.orgyml

](http://xujin.org)

@Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                //basic proxy
                .route(r -> r.path("/baidu")
                        .uri("http://baidu.com:80/")
                ).build();
    }
spring:
  cloud:
    gateway:
      routes:
      - id: xujin_route
        uri: http://www.xujin.org:80/
        predicates:
        - Path=/xujin

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71417.html

相關(guān)文章

  • spring cloud gateway 之限流篇

    摘要:常見(jiàn)的限流方式,比如適用線程池隔離,超過(guò)線程池的負(fù)載,走熔斷的邏輯。在令牌桶算法中,存在一個(gè)桶,用來(lái)存放固定數(shù)量的令牌。,令牌桶每秒填充平均速率。 轉(zhuǎn)載請(qǐng)標(biāo)明出處: https://www.fangzhipeng.com本文出自方志朋的博客 在高并發(fā)的系統(tǒng)中,往往需要在系統(tǒng)中做限流,一方面是為了防止大量的請(qǐng)求使服務(wù)器過(guò)載,導(dǎo)致服務(wù)不可用,另一方面是為了防止網(wǎng)絡(luò)攻擊。 常見(jiàn)的限流方式,...

    joy968 評(píng)論0 收藏0
  • spring cloud gateway 全局過(guò)濾器

    摘要:全局過(guò)濾器作用于所有的路由,不需要單獨(dú)配置,我們可以用它來(lái)實(shí)現(xiàn)很多統(tǒng)一化處理的業(yè)務(wù)需求,比如權(quán)限認(rèn)證,訪問(wèn)限制等等。單獨(dú)定義只需要實(shí)現(xiàn)這兩個(gè)接口就可以了。歡迎加入我的知識(shí)星球,一起交流技術(shù),免費(fèi)學(xué)習(xí)猿天地的課程 全局過(guò)濾器作用于所有的路由,不需要單獨(dú)配置,我們可以用它來(lái)實(shí)現(xiàn)很多統(tǒng)一化處理的業(yè)務(wù)需求,比如權(quán)限認(rèn)證,IP訪問(wèn)限制等等。 接口定義類:org.springframework.c...

    crossea 評(píng)論0 收藏0
  • springboot(六)——springboot與webflux結(jié)合初探

    摘要:的這幾天看了看的請(qǐng)求處理流程,因?yàn)橹耙恢庇玫暮停婚_始對(duì)的處理流程有點(diǎn)懵逼,找不到入口,后來(lái)跟了代碼,在網(wǎng)上找了點(diǎn)資料,發(fā)現(xiàn)的入口在的方法該方法的作用就是把接收到的或者最終需要返回的,包裝轉(zhuǎn)換為和。 spring-cloud-gateway 的ReactorHttpHandlerAdapter 這幾天看了看spring-cloud-gateway的請(qǐng)求處理流程,因?yàn)橹耙恢庇玫膕pr...

    hersion 評(píng)論0 收藏0
  • Spring Cloud GateWay 路由轉(zhuǎn)發(fā)規(guī)則介紹

    摘要:組合示例相同的也可以配置多個(gè),請(qǐng)求的轉(zhuǎn)發(fā)是必須滿足所有的后才可以進(jìn)行路由轉(zhuǎn)發(fā),組合使用示例如下所示總結(jié)本章節(jié)講解了的相關(guān)謂詞斷言基本使用方式,內(nèi)部提供了很多種靈活的路由轉(zhuǎn)發(fā)規(guī)則,在同一個(gè)路由內(nèi)存在多個(gè)時(shí),同時(shí)滿足規(guī)則后請(qǐng)求才會(huì)被路由轉(zhuǎn)發(fā)。 Spring在因Netflix開源流產(chǎn)事件后,在不斷的更換Netflix相關(guān)的組件,比如:Eureka、Zuul、Feign、Ribbon等,Zuu...

    zgbgx 評(píng)論0 收藏0
  • SpringCloud組件: GateWay整合Eureka轉(zhuǎn)發(fā)服務(wù)請(qǐng)求

    摘要:?jiǎn)畏?wù)我們簡(jiǎn)單編寫一個(gè)請(qǐng)求地址,輸出字符串信息,添加依賴如下所示配置文件如下所示服務(wù)名注冊(cè)到服務(wù)端口號(hào)配置該服務(wù)的服務(wù)名稱為,這里對(duì)應(yīng)的。 在上一篇文章Spring Cloud GateWay 路由轉(zhuǎn)發(fā)規(guī)則介紹中我們講解了SpringCloud Gateway內(nèi)部提供的斷言、謂語(yǔ),讓我們可以組合更精確的業(yè)務(wù)場(chǎng)景進(jìn)行請(qǐng)求,既然SpringCloud GateWay擔(dān)任了網(wǎng)關(guān)的角色,在之前...

    warmcheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<