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

springcloud-alibaba (04)Gateway與Nacos結合使用

這篇具有很好參考價值的文章主要介紹了springcloud-alibaba (04)Gateway與Nacos結合使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Gateway與Nacos結合使用

??歡迎來到這里,今天我將為大家介紹如何將Spring Cloud Gateway和Nacos結合使用,實現(xiàn)一個高效穩(wěn)定的服務網關!在微服務架構中,API網關是必不可少的一部分,它提供了路由請求、負載均衡、安全認證和限流等功能。Spring Cloud Gateway是基于Spring Framework、Spring Boot和Project Reactor等技術的API網關,它提供了一種簡單而有效的方式來對微服務進行路由、過濾和流量控制。Nacos是一個用于服務注冊和發(fā)現(xiàn)的組件,它提供了一種穩(wěn)定、易于使用、無鎖的服務發(fā)現(xiàn)方案。那么,讓我們看看如何將它們結合起來,實現(xiàn)一個強大的服務網關吧!??

1. 單獨使用Gateway

首先,讓我們來看看如何單獨使用Spring Cloud Gateway。只需要添加依賴和配置Gateway即可。

  1. 添加依賴??
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
  1. 配置Gateway???

然后,在配置文件(application.yml或application.properties)中聲明要轉發(fā)的路由即可。

server:
  port: 7003
spring:
  application:
    name: gateway-server
  cloud:
    gateway:
      routes:
        - id: user-server               # 當前路由的標識, 要求唯一
          uri: "http://localhost:7001"  # 請求要轉發(fā)到的地址
          order: 1                      # 路由的優(yōu)先級,數(shù)字越小級別越高
          predicates:                   # 斷言(就是路由轉發(fā)要滿足的條件)
            - Path=/user-server/**      # 當請求路徑滿足Path指定的規(guī)則時,才進行路由轉發(fā)
          filters:                      # 過濾器,請求在傳遞過程中可以通過過濾器對其進行一定的修改
            - StripPrefix=1             # 轉發(fā)之前去掉1層路徑

以上配置中聲明了一個路由,將路徑為/user-server/**的請求轉發(fā)到相應的服務上。

springcloud-alibaba (04)Gateway與Nacos結合使用,Spring Cloud Alibaba,spring cloud,gateway,微服務

接下來,讓我們來看看如何將Spring Cloud Gateway和Nacos結合使用,以實現(xiàn)更強大的功能。

2. Gateway和Nacos結合

我們可以將Spring Cloud Gateway和Nacos結合使用,為微服務架構提供更加穩(wěn)定和高效的服務網關解決方案。接下來,我將一步一步的教大家如何結合使用它們。

  1. 添加依賴??

在pom.xml文件中添加以下依賴。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</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-loadbalancer</artifactId>
</dependency>

這是一些Spring Cloud相關的依賴,包括了Spring Cloud Gateway、Spring Cloud Alibaba Nacos Discovery和Spring Cloud LoadBalancer。

當Gateway在使用Nacos作為服務發(fā)現(xiàn)和注冊中心時,使用loadbalancer依賴可以讓Gateway自動從Nacos注冊中心獲取可用的服務實例列表,并根據(jù)路由規(guī)則將請求轉發(fā)到不同的實例上,實現(xiàn)負載均衡和高可用性。

因此,加上loadbalancer依賴可以使得Gateway和Nacos的結合更加完善,為微服務架構提供更加穩(wěn)定和高效的服務網關解決方案。

  1. 添加@EnableDiscoveryClient注解 (可選)???
@SpringBootApplication
@EnableDiscoveryClient
public class GateWayApplication {

    public static void main(String[] args) {
        SpringApplication.run(GateWayApplication.class, args);
        System.out.println("run");
    }
}
  1. 配置nacos注冊中心和gateway???

這是一個基于Spring Cloud Gateway的配置文件,其中配置了網關的路由規(guī)則。

server:
  port: 7003
spring:
  application:
    name: gateway-server
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.157.129:8848
    gateway:
      routes:
        - id: user-server               # 當前路由的標識, 要求唯一
          uri: lb://user-server         # lb指的是從nacos中按照名稱獲取微服務,并遵循負
          order: 1                      # 路由的優(yōu)先級,數(shù)字越小級別越高
          predicates:                   # 斷言(就是路由轉發(fā)要滿足的條件)
            - Path=/user-server/**      # 當請求路徑滿足Path指定的規(guī)則時,才進行路由轉發(fā)
          filters:                      # 過濾器,請求在傳遞過程中可以通過過濾器對其進行一定的修改
            - StripPrefix=1             # 轉發(fā)之前去掉1層路徑
  • server.port:指定網關應用程序的端口號,這里設置為7003。
  • spring.application.name:指定網關應用程序的名稱,這里設置為gateway-server。
  • spring.cloud.nacos.discovery.server-addr:指定Nacos服務注冊中心的地址,這里設置為192.168.157.129:8848。

在gateway.routes下面,配置了一條路由規(guī)則:

當請求路徑滿足Path指定的規(guī)則(/user-server/**)時,將會轉發(fā)到名為user-server的微服務上。
指定了路由的優(yōu)先級(order),以及使用了StripPrefix過濾器,將請求路徑中的一個路徑進行了去除,并將剩余的部分轉發(fā)給下一級微服務。

簡潔版:去掉關于路由的配置???

server:
  port: 7003
spring:
  application:
    name: gateway-server
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.157.129:8848
    gateway:
      discovery:
        locator:
          enabled: true # 讓gateway可以發(fā)現(xiàn)nacos中的微服務

這是一個基于Spring Cloud Gateway的配置文件,其中增加了發(fā)現(xiàn)服務的配置。

在gateway.discovery.locator.enabled屬性中設置為true,表示開啟了基于服務發(fā)現(xiàn)的路由功能。這樣,在進行路由時,就會根據(jù)微服務的名稱從Nacos服務注冊中心中獲取對應的服務實例,從而實現(xiàn)了自動的服務發(fā)現(xiàn)負載均衡的功能。

  1. 運行Spring Boot應用程序注冊到nacos服務中心

在nacos服務中心中注冊一個名為user-server的微服務,并啟動至少兩個示例即可。

springcloud-alibaba (04)Gateway與Nacos結合使用,Spring Cloud Alibaba,spring cloud,gateway,微服務

這兩個示例除了端口號和接口返回的數(shù)據(jù)以外其他內容都一樣

springcloud-alibaba (04)Gateway與Nacos結合使用,Spring Cloud Alibaba,spring cloud,gateway,微服務

  1. 測試應用程序??

現(xiàn)在可以向Spring Cloud Gateway發(fā)送請求并將其轉發(fā)到相應的服務。只要按照網關地址/微服務/接口的格式去訪問,就可以得到成功響應。

  • http://localhost:7003/user-server/user/get1
  • 網關地址/微服務的名稱/接口的格式

springcloud-alibaba (04)Gateway與Nacos結合使用,Spring Cloud Alibaba,spring cloud,gateway,微服務

根據(jù)微服務的名稱從Nacos服務注冊中心中獲取對應的服務實例,從而實現(xiàn)了自動的服務發(fā)現(xiàn)負載均衡的功能。

3. 總結??

以上是使用Spring Cloud Gateway進行網關配置和使用Nacos進行服務發(fā)現(xiàn)和負載均衡的示例。Spring Cloud Gateway和Nacos的結合可以為微服務架構提供更加穩(wěn)定和高效的服務網關解決方案。文章來源地址http://www.zghlxwxcb.cn/news/detail-607252.html

到了這里,關于springcloud-alibaba (04)Gateway與Nacos結合使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

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

相關文章

  • SpringCloud-Alibaba之Sentinel熔斷與限流

    SpringCloud-Alibaba之Sentinel熔斷與限流

    一、下載安裝運行 http://localhost:8080進行訪問 登錄賬號和密碼均為sentinel 二、創(chuàng)建工程,并注冊到nacos服務中心 依賴spring-cloud-starter-alibaba-nacos-discovery,spring-cloud-starter-alibaba-sentinel sentine-datasource-nacos (持久化) 配置文件 啟動類 業(yè)務類 三、啟動sentinel java -jar sentinel-dashboard-1.7.0

    2024年02月16日
    瀏覽(27)
  • springcloud-alibaba五大核心組件-后端開發(fā)工程(腳手架)搭建

    Gitee倉庫地址 點我 服務注冊與發(fā)現(xiàn): nacos 配置中心: nacos 服務遠程調用: openfeign 微服務網關: gateway 服務限流降級熔斷等: sentinel 實現(xiàn)的功能demo openfeign服務遠程調用 sentinel限流測試 gateway網關調用2個微服務 nacos的服務注冊與發(fā)現(xiàn) 軟件架構(環(huán)境) jdk: 1.8 maven: 3.5.2 nacos: 注冊中心

    2024年02月05日
    瀏覽(88)
  • SpringCloud Alibaba【三】Gateway

    SpringCloud Alibaba【三】Gateway

    在工作中遇到一種情況,一個父項目中有兩個子項目。實際使用時,需要外網可以訪問,寶信軟件只能將一個端口號發(fā)布在外網上,所以需要運用網關技術,通過一個端口號訪問兩個項目。 之前已經試用nacos搭建了注冊中心 pom.xml 導入依賴時注意SpringCloudAlibaba與gateway依賴的版

    2024年02月07日
    瀏覽(19)
  • SpringCloud Alibaba Sentinel整合GateWay

    SpringCloud Alibaba Sentinel整合GateWay

    在微服務系統(tǒng)中,網關提供了微服務系統(tǒng)的統(tǒng)一入口,所以我們在做限流的時候,肯定是要在網關層面做一個流量的控制,Sentinel 支持對 Spring Cloud Gateway、Zuul 等主流的 API Gateway 進行限流。 網關: Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模塊,此模塊中包含網關限流的

    2024年02月16日
    瀏覽(21)
  • SpringCloud Alibaba Nacos

    SpringCloud Alibaba Nacos

    1 官網 1.1 https://github.com/alibaba/Nacos 2 Nacos 是什么? 2.1 一句話: Nacos 就是注冊中心[替代Eureka]+配置中心[替代Config] 2.2 Nacos:Dynamic Naming and Configuration Service 2.3 Nacos:架構理論基礎: CAP 理論(支持AP 和CP, 可以切換) 3 Nacos 下載運行 3.1 下載: https://github.com/alibaba/nacos/releases/tag/1.2.1 3

    2024年02月07日
    瀏覽(23)
  • 【SpringCloud Alibaba -- Nacos】Linux 搭建 Nacos 集群

    【SpringCloud Alibaba -- Nacos】Linux 搭建 Nacos 集群

    centos安裝docker https://docs.docker.com/engine/install/centos/ MySql8 mysql數(shù)據(jù)庫配置 數(shù)據(jù)庫腳本 nacos/conf/nacos-mysql.sql Nacos2 application.properties 修改為mysql cluster.conf 配置你三臺nacos的地址 修改startup.sh ( nacos1版本同一臺機器修改啟動腳本,nacos2應該不用了 ) 復制倆份nacos,修改其對應的port N

    2024年02月05日
    瀏覽(19)
  • springcloud Alibaba中gateway和sentinel聯(lián)合使用

    springcloud Alibaba中gateway和sentinel聯(lián)合使用

    看到這個文章相信你有一定的sentinel和gateway基礎了吧。 官網的gateway和sentinel聯(lián)合使用有些過時了,于是有了這個哈哈,給你看看官網的: 才sentinel1.6,現(xiàn)在都幾了啊,所以有些過時。 下面開始講解: 首先我們總的回顧一下,sentinel就是需要運行一個jar包,開啟dashbord頁面,來

    2024年01月17日
    瀏覽(18)
  • SpringCloud Alibaba入門7之引入服務網關Gateway

    SpringCloud Alibaba入門7之引入服務網關Gateway

    我們需要在客戶端和服務端之間加一個統(tǒng)一的入口,來作為請求的統(tǒng)一接入,而在微服務的體系中,承擔這個角色的就是網關。我們只需要將網關的機器IP配置到DNS,或者接入負載,那么客戶端的服務最終通過我們的網關,再轉發(fā)到對應的服務端服務。 一、創(chuàng)建網關服務 ?1.引

    2024年02月11日
    瀏覽(25)
  • 注冊中心/配置管理 —— SpringCloud Alibaba Nacos

    注冊中心/配置管理 —— SpringCloud Alibaba Nacos

    Nacos 是一個易于使用的動態(tài)服務發(fā)現(xiàn)、配置和服務管理平臺,用于構建云原生的應用程序 Nacos 的關鍵特性包括以下幾項: 服務發(fā)現(xiàn)和服務健康監(jiān)測:服務提供者使用原生 SDK、OpenAPI 等注冊服務后,服務消費者可以使用 HTTPAPI 查找和發(fā)現(xiàn)服務。Nacos 提供對服務的實時健康檢查

    2024年02月14日
    瀏覽(113)
  • 【云原生】SpringCloud Alibaba 之 Nacos注冊中心實戰(zhàn)

    【云原生】SpringCloud Alibaba 之 Nacos注冊中心實戰(zhàn)

    注冊中心, 也稱命名服務(Naming servive), 它的核心功能與DNS服務類似, 無非就是通過一個特定的名字來查找相關的實例集合, 但是它們也有很多不同點 Nacos與eureka的共同點 都支持服務注冊和服務拉取 都支持服務提供者心跳方式做健康檢測 Nacos與Eureka的區(qū)別 Nacos支持服務端主動檢

    2024年02月03日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包