欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Nacos與Gateway的使用操作筆記

 更新時間:2024年08月12日 09:54:02   作者:麻辣香蟈蟈  
Spring?Cloud?Gateway?是一個用于構(gòu)建?API?網(wǎng)關(guān)的框架,提供了多種服務(wù)路由、過濾和負(fù)載均衡的功能,這篇文章主要介紹了Java?Nacos與Gateway的使用操作筆記,需要的朋友可以參考下

一、前言

  • 近期學(xué)習(xí)Gateway與Nacos的實操筆記總結(jié)
  • 通過Nacos觀察gateway的作用

二、學(xué)習(xí)內(nèi)容:

  • Gateway實操學(xué)習(xí)
  • Nacos實操學(xué)習(xí)
  • Knif4j配置
  • 均衡負(fù)載
  • 灰度發(fā)布策略
  • 微服務(wù)知識學(xué)習(xí)

三、問題描述

  • 實操經(jīng)驗不豐富

四、解決方案:

4.1 父子項目的設(shè)置

4.1.1父工程配置

  • 加入Package配置
  • 加入Moudle配置子項目
  • 刪除依賴

4.1.2 子工程配置

刪除的都已有父工程管理

  • 刪除配置
  • 刪除依賴管理
  • 指定父工程

4.2 微服務(wù)、負(fù)載均衡與灰度發(fā)布

4.2.1 新建微服務(wù)

  • 網(wǎng)關(guān)服務(wù)注意一定要加上gateway與負(fù)載均衡依賴

網(wǎng)關(guān)名字記得改

為了方便觀察運行時把SpringBoot加入Services管理

運行端口為8080的服務(wù)

新建服務(wù)

之后修改要改的端口與內(nèi)容再次運行即可

端口要改不然沖突

我們發(fā)現(xiàn)Nacos的nacos-demo服務(wù)實例已變?yōu)閮蓚€

看上張圖片,因為我們又運行了一個服務(wù)

微服務(wù)配置注意看Path

測試通過網(wǎng)關(guān)訪問服務(wù)實例

注意測試負(fù)載均衡訪問的是微服務(wù)所以端口號是9091同時路徑別忘寫

五、總結(jié):

5.1 學(xué)習(xí)總結(jié):

不管誰訪問經(jīng)由網(wǎng)關(guān)即可訪問實例

請?zhí)砑訄D片描述

Spring Cloud Gateway 是一個用于構(gòu)建 API 網(wǎng)關(guān)的框架,提供了多種服務(wù)路由、過濾和負(fù)載均衡的功能

動態(tài)路由:

  • 支持通過配置文件或編程方式設(shè)置路由。
  • 可以根據(jù)請求的路徑、請求方法、查詢參數(shù)等進(jìn)行路由匹配。

過濾器:

  • 提供了預(yù)定義的過濾器(如請求頭、請求參數(shù)、限流等)。
  • 用戶可以自定義過濾器來處理請求和響應(yīng)的各種需求。

負(fù)載均衡:

  • 支持與 Spring Cloud LoadBalancer 集成,實現(xiàn)對后端服務(wù)的負(fù)載均衡。
  • 可以配置不同的策略,如輪詢、隨機等。

斷路器支持:

  • 可以與 Spring Cloud Circuit Breaker 集成,提供服務(wù)熔斷功能,提高系統(tǒng)的健壯性。

安全與認(rèn)證:

  • 支持集成 Spring Security,為 API 提供安全認(rèn)證機制。 可以對訪問進(jìn)行監(jiān)控和限制,保證系統(tǒng)安全。

響應(yīng)式編程:

  • 基于 Spring WebFlux 構(gòu)建,實現(xiàn)非阻塞的 API 調(diào)用,提高系統(tǒng)吞吐量。

監(jiān)控和追蹤:

  • 通過集成 Spring Boot Actuator 進(jìn)行運行時監(jiān)控。
  • 支持分布式追蹤(如 Sleuth 和 Zipkin),幫助追蹤請求流動。

應(yīng)用場景

  • 微服務(wù)架構(gòu): 在微服務(wù)架構(gòu)中,作為服務(wù)的入口,聚合多個服務(wù)的 API。
  • API 管理: 提供統(tǒng)一的 API 接入點,簡化客戶端的訪問方式。
  • 安全層: 集中管理微服務(wù)的安全措施,對外提供單一的認(rèn)證和授權(quán)方式。

配置文件參考:

spring.application.name=nacos-demo
server.port=8080
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
# 設(shè)置配置中心服務(wù)端地址
spring.cloud.nacos.config.server-addr=localhost:8848
# Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,請不要填寫這個值,直接留空即可
spring.cloud.nacos.config.namespace=nacos-demo
spring.config.import=nacos:datatest.properties?refresh=true
# Nacos幫助文檔: https://nacos.io/zh-cn/docs/concepts.html
# Nacos認(rèn)證信息
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
# Nacos 服務(wù)發(fā)現(xiàn)與注冊配置,其中子屬性 server-addr 指定 Nacos 服務(wù)器主機和端口
spring.cloud.nacos.discovery.server-addr=localhost:8848
# 注冊到 nacos 的指定 namespace,默認(rèn)為 public
spring.cloud.nacos.discovery.namespace=nacos-demo
spring.application.name=gateway
server.port=9091
knife4j.gateway.discovery.enabled=true
knife4j.gateway.enabled=true
knife4j.gateway.tags-sorter=order
knife4j.gateway.operations-sorter=order
knife4j.gateway.strategy=discover
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
spring.cloud.nacos.config.server-addr=localhost:8848
spring.config.import=nacos:datatest.properties?refresh=true
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.cloud.nacos.discovery.namespace=nacos-demo
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowed-origin-patterns=*
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedHeaders=*
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowCredentials=true
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods[0]=GET
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods[1]=POST
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods[2]=PUT
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods[3]=OPTIONS
spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedMethods[4]=DELETE
spring.cloud.gateway.discovery.locator.enabled=true
spring.cloud.gateway.routes[0].id=nacos-demo
spring.cloud.gateway.routes[0].uri=lb://nacos-demo
spring.cloud.gateway.routes[0].predicates[0]=Path=/nacos_demo/**
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1

依賴參考:

 <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-gateway-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>
    </dependencies>
 <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-gateway-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>annotationProcessor</scope>
        </dependency>
    </dependencies>

(后續(xù)有遇到問題再添加)

聲明:如本內(nèi)容中存在錯誤或不準(zhǔn)確之處,歡迎指正。轉(zhuǎn)載時請注明原作者信息(麻辣香蟈蟈)。

到此這篇關(guān)于Java Nacos與Gateway的使用的文章就介紹到這了,更多相關(guān)Java Nacos與Gateway使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用selenium爬取b站動態(tài)的實現(xiàn)方式

    Java使用selenium爬取b站動態(tài)的實現(xiàn)方式

    本文主要介紹了Java使用selenium爬取b站動態(tài)的實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 圖解Java?ReentrantLock的條件變量Condition機制

    圖解Java?ReentrantLock的條件變量Condition機制

    想必大家都使用過wait()和notify()這兩個方法把,他們主要用于多線程間的協(xié)同處理。而RenentrantLock也支持這樣條件變量的能力,而且相對于synchronized?更加強大,能夠支持多個條件變量,本文就來詳細(xì)說說
    2022-10-10
  • ?java簡介及環(huán)境搭建

    ?java簡介及環(huán)境搭建

    這篇文章主要介紹了java簡介及環(huán)境搭建,文章主要介紹Java的發(fā)展史及環(huán)境搭建,對正在學(xué)Java的你有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • 教你用JAVA寫文本編輯器(一)

    教你用JAVA寫文本編輯器(一)

    對于學(xué)習(xí)java編程的小伙伴們,常常需要編寫一個類似文本編輯器的東西,下面這篇文章主要給大家介紹了關(guān)于如何用JAVA寫文本編輯器的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • SpringBoot+Quartz實現(xiàn)定時任務(wù)的代碼模版分享

    SpringBoot+Quartz實現(xiàn)定時任務(wù)的代碼模版分享

    quartz?是一款開源且豐富特性的Java?任務(wù)調(diào)度庫,用于實現(xiàn)任務(wù)調(diào)度和定時任務(wù),本文主要和大家分享一個SpringBoot整合Quartz實現(xiàn)定時任務(wù)的代碼模版,需要的可以參考一下
    2023-06-06
  • Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解

    Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解

    這篇文章主要介紹了Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解,本文并未全部介紹數(shù)組復(fù)制的幾種方式,僅對clone和copy的相關(guān)內(nèi)容進(jìn)行了解析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Spring Boot對Future模式的支持詳解

    Spring Boot對Future模式的支持詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot對Future模式的支持的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2019-01-01
  • Java精品項目瑞吉外賣之后端登錄功能篇

    Java精品項目瑞吉外賣之后端登錄功能篇

    這篇文章主要為大家詳細(xì)介紹了java精品項目-瑞吉外賣訂餐系統(tǒng),此項目過大,分為多章獨立講解,本篇內(nèi)容為后端登錄功能的實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Mybatis基于MapperScan注解的動態(tài)代理加載機制詳解

    Mybatis基于MapperScan注解的動態(tài)代理加載機制詳解

    這篇文章主要介紹了Mybatis基于MapperScan注解的動態(tài)代理加載機制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • Java實現(xiàn)去重的方法詳解

    Java實現(xiàn)去重的方法詳解

    austin支持兩種去重的類型:N分鐘相同內(nèi)容達(dá)到N次去重和一天內(nèi)N次相同渠道頻次去重,這篇文章就來和大家講講這兩種去重的具體實現(xiàn),需要的可以參考一下
    2023-06-06

最新評論