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

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的實(shí)操筆記總結(jié)
  • 通過Nacos觀察gateway的作用

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

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

三、問題描述

  • 實(shí)操經(jīng)驗(yàn)不豐富

四、解決方案:

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

4.1.1父工程配置

  • 加入Package配置
  • 加入Moudle配置子項(xiàng)目
  • 刪除依賴

4.1.2 子工程配置

刪除的都已有父工程管理

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

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

4.2.1 新建微服務(wù)

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

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

為了方便觀察運(yùn)行時把SpringBoot加入Services管理

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

新建服務(wù)

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

端口要改不然沖突

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

看上張圖片,因?yàn)槲覀冇诌\(yùn)行了一個服務(wù)

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

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

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

五、總結(jié):

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

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

請?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 集成,實(shí)現(xiàn)對后端服務(wù)的負(fù)載均衡。
  • 可以配置不同的策略,如輪詢、隨機(jī)等。

斷路器支持:

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

安全與認(rèn)證:

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

響應(yīng)式編程:

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

監(jiān)控和追蹤:

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

應(yīng)用場景

  • 微服務(wù)架構(gòu): 在微服務(wù)架構(gòu)中,作為服務(wù)的入口,聚合多個服務(wù)的 API。
  • API 管理: 提供統(tǒng)一的 API 接入點(diǎn),簡化客戶端的訪問方式。
  • 安全層: 集中管理微服務(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ù)器主機(jī)和端口
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)文章

  • windows下zookeeper配置java環(huán)境變量的方法

    windows下zookeeper配置java環(huán)境變量的方法

    今天小編就為大家分享一篇關(guān)于windows下zookeeper配置java環(huán)境變量的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MyBatis中的多字段IN查詢方式

    MyBatis中的多字段IN查詢方式

    本文介紹了在MyBatis中進(jìn)行多字段IN查詢的目標(biāo)SQL、Mapper接口定義及XML配置方法,并簡要總結(jié)了相關(guān)個人經(jīng)驗(yàn),供讀者參考和學(xué)習(xí)
    2025-10-10
  • 基于Java實(shí)現(xiàn)的Dijkstra算法示例

    基于Java實(shí)現(xiàn)的Dijkstra算法示例

    這篇文章主要介紹了基于Java實(shí)現(xiàn)的Dijkstra算法示例,一個比較典型的算法示例,需要的朋友可以參考下
    2014-07-07
  • Java索引越界異常Exception java.lang.IndexOutOfBoundsException的解決

    Java索引越界異常Exception java.lang.IndexOutOfBoundsException

    本文主要介紹了Java索引越界異常Exception java.lang.IndexOutOfBoundsException的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 使用1招搞定maven打包空間不足的問題

    使用1招搞定maven打包空間不足的問題

    這篇文章主要介紹了使用1招搞定maven打包空間不足的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Spring AI 使用本地 Ollama Embeddings的操作方法

    Spring AI 使用本地 Ollama Embeddings的操作方法

    使用 OpenAI 的 Embeddings 接口是有費(fèi)用的,如果想對大量文檔進(jìn)行測試,使用本地部署的 Embeddings 就能省去大量的費(fèi)用,所以我們嘗試使用本地的 Ollama Embeddings,這篇文章主要介紹了Spring AI 使用本地 Ollama Embeddings,需要的朋友可以參考下
    2024-05-05
  • Java 中使用Spring Security的實(shí)例詳解

    Java 中使用Spring Security的實(shí)例詳解

    Spring Security是一款強(qiáng)大的安全框架,可以幫助用戶保護(hù)Web應(yīng)用程序和REST API的安全性,這篇文章主要介紹了Java 中如何使用Spring Security,需要的朋友可以參考下
    2023-06-06
  • java中刪除數(shù)組中重復(fù)元素方法探討

    java中刪除數(shù)組中重復(fù)元素方法探討

    這個是一個老問題,但是發(fā)現(xiàn)大多數(shù)人說的還不夠透。小弟就在這里拋磚引玉了,歡迎拍磚
    2013-10-10
  • Java利用apache ftp工具實(shí)現(xiàn)文件上傳下載和刪除功能

    Java利用apache ftp工具實(shí)現(xiàn)文件上傳下載和刪除功能

    這篇文章主要為大家詳細(xì)介紹了Java利用apache ftp工具實(shí)現(xiàn)文件上傳下載、刪除功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Spring Boot2.0 @ConfigurationProperties使用詳解

    Spring Boot2.0 @ConfigurationProperties使用詳解

    這篇文章主要介紹了Spring Boot2.0 @ConfigurationProperties使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

开鲁县| 邢台市| 岳阳县| 安西县| 营山县| 云和县| 石景山区| 宜州市| 岢岚县| 页游| 应城市| 邯郸县| 蒙山县| 扎鲁特旗| 四会市| 淮南市| 交口县| 富锦市| 当雄县| 会同县| 石渠县| 新建县| 莫力| 台东市| 高阳县| 珠海市| 左权县| 集安市| 杭锦旗| 河池市| 厦门市| 静海县| 西乌| 柘荣县| 富平县| 广平县| 江永县| 横山县| 百色市| 石城县| 阆中市|