最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot整合gateway實現(xiàn)網(wǎng)關(guān)功能的示例代碼

 更新時間:2022年02月08日 15:06:13   作者:灰太狼_cxh  
本文主要介紹了springboot整合gateway實現(xiàn)網(wǎng)關(guān)功能的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1.使用場景:

網(wǎng)關(guān)可提供請求路由與組合、協(xié)議轉(zhuǎn)換、安全認(rèn)證、服務(wù)鑒權(quán)、流量控制與日志監(jiān)控等服務(wù)。可選的網(wǎng)關(guān)有不少,比如 Nginx、、Linkerd 、eureka、 Spring Cloud Gateway、consul等。

Spring Cloud Gateway 針對進來的請求做各種判斷和處理,比如說判斷請求的合法性、權(quán)限驗證,請求地址改寫,請求參數(shù)、頭信息、cookie 信息的分析和改寫,請求速率控制,日志留存等。而這些都可以方便的通過 Predicate 和 GatewayFilter 來組合實現(xiàn)。

2.代碼實現(xiàn)

1創(chuàng)建gateway-service服務(wù)

引入依賴

<dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-gateway</artifactId>
? ? ? ? ? ? <version>3.0.4</version>
? ? ? ? </dependency>
? ? ? ? <!--服務(wù)注冊/發(fā)現(xiàn)中心依賴-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.alibaba.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
? ? ? ? </dependency>

? ? ? ? <!--服務(wù)的配置中心依賴-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.alibaba.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
? ? ? ? </dependency>

? ? ? ? <!--fegin組件-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-openfeign</artifactId>
? ? ? ? ? ? <version>3.0.2</version>
? ? ? ? </dependency>
? ? ? ? <!-- Feign Client for loadBalancing -->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-loadbalancer</artifactId>
? ? ? ? ? ? <version>3.0.2</version>
? ? ? ? </dependency>
? ? ? ? <!--客戶端負載均衡loadbalancer-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-loadbalancer</artifactId>
? ? ? ? </dependency>

yml配置

server:
? port: 8001

spring:
? application:
? ? name: gateway-service #服務(wù)名
? profiles:
? ? active: dev #環(huán)境設(shè)置
? cloud:
? ? gateway:
? ? ? routes:
? ? ? ? # 透傳服務(wù)
? ? ? ? - id: gateway-client #設(shè)置路由id(理論上是可以隨便寫的)
? ? ? ? ? uri: lb://gateway-client ?#設(shè)置路由的url lb://nacos服務(wù)注冊名稱
? ? ? ? ? predicates:
? ? ? ? ? ? - Path=/client/** #路徑匹配規(guī)則
? ? ? ? ? filters:
? ? ? ? ? ? - StripPrefix=1
? ? ? ? - id: gateway-consumer
? ? ? ? ? uri: lb://gateway-consumer
? ? ? ? ? predicates:
? ? ? ? ? ? - Path=/consumer/**
? ? ? ? ? filters:
? ? ? ? ? ? - StripPrefix=1

跨域配置

@Configuration
public class CorsConfig {
? ? @Bean
? ? public CorsWebFilter corsFilter() {
? ? ? ? CorsConfiguration config = new CorsConfiguration();
? ? ? ? config.addAllowedMethod("*");
? ? ? ? config.addAllowedOrigin("*");
? ? ? ? config.addAllowedHeader("*");

? ? ? ? UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
? ? ? ? source.registerCorsConfiguration("/**", config);

? ? ? ? return new CorsWebFilter(source);
? ? }
}

2創(chuàng)建gateway-client服務(wù)

引入依賴

<dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter</artifactId>
? ? ? ? </dependency>

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-test</artifactId>
? ? ? ? ? ? <scope>test</scope>
? ? ? ? </dependency>

? ? ? ? <!--服務(wù)注冊-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
? ? ? ? ? ? <version>0.2.1.RELEASE</version>
? ? ? ? </dependency>
? ? ? ? <!--服務(wù)調(diào)用-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-openfeign</artifactId>
? ? ? ? </dependency>

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-web</artifactId>
? ? ? ? </dependency>

yml配置

server:
? port: 8002

spring:
? application:
? ? name: gateway-client #服務(wù)名
? profiles:
? ? active: dev #環(huán)境設(shè)置
? cloud:
? ? nacos:
? ? ? discovery:
? ? ? ? server-addr: 127.0.0.1:8848 #nacos服務(wù)注冊

控制層請求

@RestController
public class TestController {

? ? @RequestMapping("/index")
? ? public String index(){
? ? ? ? return "gateway-client";
? ? }

}

啟動類

@SpringBootApplication
@EnableDiscoveryClient
public class GatewayClientApplication {

? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(GatewayClientApplication.class, args);
? ? }

}

3.實現(xiàn)效果

采用nacos作為注冊中心,啟動nacos后再啟動gateway-service, gateway-client項目

在nacos發(fā)現(xiàn)服務(wù)注冊成功

在瀏覽器發(fā)起請求

? ?http://localhost:8001/client/index??

實際上網(wǎng)關(guān)把請求發(fā)送到gateway-client服務(wù),返回結(jié)果

到此這篇關(guān)于springboot整合gateway實現(xiàn)網(wǎng)關(guān)功能的示例代碼的文章就介紹到這了,更多相關(guān)springboot gateway網(wǎng)關(guān) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題

    Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題

    這篇文章主要介紹了Java?file.delete刪除文件失敗,Windows磁盤出現(xiàn)無法訪問的文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java中Redis存儲String類型會有亂碼的問題及解決方案

    Java中Redis存儲String類型會有亂碼的問題及解決方案

    在java中使用Redis存儲String類型的數(shù)據(jù)時,會出現(xiàn)亂碼,我寫了一條存儲key為name,值為虎哥的字符串,然后獲取一下這個key為name的值,打印得到的值,下面通過實例代碼介紹Java中Redis存儲String類型會有亂碼的問題及解決方案,一起看看吧
    2024-04-04
  • springboot的類加載器(org.springframework.boot.loader)過程詳解

    springboot的類加載器(org.springframework.boot.loader)過程詳解

    這篇文章主要介紹了springboot的類加載器(org.springframework.boot.loader),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java CompletableFuture如何實現(xiàn)超時功能

    Java CompletableFuture如何實現(xiàn)超時功能

    這篇文章主要為大家介紹了實現(xiàn)超時功能的基本思路以及CompletableFuture(之后簡稱CF)是如何通過代碼實現(xiàn)超時功能的,需要的小伙伴可以了解下
    2025-01-01
  • Hibernate持久化對象生命周期原理解析

    Hibernate持久化對象生命周期原理解析

    這篇文章主要介紹了Hibernate持久化對象生命周期原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 通過Java組合問題看透回溯法

    通過Java組合問題看透回溯法

    今天給大家分享一道LeetCode算法題,題目不是很困難,但是從這到簡單的題目我們可以分析出回溯算法的幾個核心要點,感興趣的可以了解一下
    2022-09-09
  • IDEA如何修改項目名稱出現(xiàn)中括號

    IDEA如何修改項目名稱出現(xiàn)中括號

    當(dāng)項目文件夾名稱與model名稱不一致時,IDEA會在項目名旁顯示中括號以區(qū)分,修改項目名稱時出現(xiàn)中括號問題,通常是因為IDE中model名與文件夾名不同步,解決方法是統(tǒng)一model名稱和文件夾名稱,可通過重構(gòu)功能或項目結(jié)構(gòu)設(shè)置完成,重命名操作應(yīng)謹(jǐn)慎,以避免路徑等引用錯誤
    2024-10-10
  • 關(guān)于druid連接池的使用詳解

    關(guān)于druid連接池的使用詳解

    文章介紹了Druid連接池的兩種使用方式:直接在代碼中配置和通過配置文件配置,同時,文章詳細講解了如何在Web項目中啟用Druid的監(jiān)控功能,包括配置web.xml文件、設(shè)置過濾器等步驟,最后,文章還提到了Druid提供的加密解密工具,使數(shù)據(jù)庫密碼更安全
    2025-02-02
  • Quarkus集成open api接口使用swagger ui展示

    Quarkus集成open api接口使用swagger ui展示

    這篇文章主要為大家介紹了Quarkus集成open?api接口使用swagger?ui的展示示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • Java求s=a+aa+aaa+aaaa+aa...a 5個數(shù)相加的值

    Java求s=a+aa+aaa+aaaa+aa...a 5個數(shù)相加的值

    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制
    2017-02-02

最新評論

平凉市| 温泉县| 辽宁省| 进贤县| 丹寨县| 丹江口市| 靖西县| 满城县| 饶阳县| 门头沟区| 巴东县| 饶平县| 西贡区| 浮梁县| 金湖县| 丹寨县| 高邮市| 靖远县| 西平县| 航空| 方正县| 墨竹工卡县| 楚雄市| 宝清县| 铁岭县| 宽甸| 门源| 通榆县| 临清市| 天水市| 环江| 郴州市| 江源县| 关岭| 金川县| 泰来县| 文山县| 武平县| 阿瓦提县| 渭南市| 图们市|