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

微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

這篇具有很好參考價(jià)值的文章主要介紹了微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

項(xiàng)目版本匯總

nacos 2.1.1
springCloud 2021.0.7
springboot 2.6.14
spring-cloud-starter-alibaba-nacos-discovery 2021.1
spring-cloud-starter-alibaba-nacos-config 2021.1

項(xiàng)目初始化

新建倉(cāng)庫(kù)

可使用github/gitlab/碼云等其它代碼庫(kù),建立自己的項(xiàng)目倉(cāng)庫(kù)
我這里使用的是碼云

碼云地址

拉取倉(cāng)庫(kù)項(xiàng)目

git clone 你新建的倉(cāng)庫(kù)地址
下載后,用idea打開(kāi)(這里默認(rèn)你能配置maven,jdk以及java環(huán)境變量的操作)

父工程pom初始化

用途:該pom用于管理整個(gè)微服務(wù)項(xiàng)目的依賴框架和版本以及所屬子模塊等
如圖所示:該pom.xml在工程的根目錄下創(chuàng)建
微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

依賴版本選擇

  • 進(jìn)入Spring官網(wǎng)Spring官網(wǎng)選擇Project下的Springcloud欄進(jìn)去
    微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)
  • 版本號(hào)對(duì)應(yīng)關(guān)系一目了然
    微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)
  • 選擇2021.0.x版本的cloud,那么對(duì)應(yīng)的boot版本就是2.6-2.7之間

pom文件如下

spring-cloud-dependencies cloud依賴
spring-boot-dependencies boot依賴
nacos-client nacos版本
spring-boot-starter-test 單測(cè)依賴
spring-cloud-starter-alibaba-nacos-discovery 注冊(cè)中心客戶端依賴
spring-cloud-starter-alibaba-nacos-config 配置中心客戶端
<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2021.0.7</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.6.14</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${boot.version}</version>
            <scope>test</scope>
        </dependency>
        <!--注冊(cè)中心客戶端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2021.1</version>
        </dependency>
        <!--配置中心客戶端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2021.1</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.24</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.26</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.3.3</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${boot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.7</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>

    </dependencyManagement>

網(wǎng)關(guān)服務(wù)構(gòu)建

在父工程項(xiàng)目點(diǎn)擊右鍵 New-Module起名為xwl-gateway

pom文件

spring-cloud-starter-gateway 網(wǎng)關(guān)依賴
spring-cloud-starter-openfeign rpc通信依賴
spring-cloud-starter-bootstrap cloud配置文件識(shí)別依賴
spring-cloud-loadbalancer cloud內(nèi)置負(fù)載均衡器(取代了ribbon)
 <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>3.1.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>3.1.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.1.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>


    </dependencies>
  <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
      </plugins>
  </build>

啟動(dòng)類

@SpringBootApplication
/*開(kāi)啟服務(wù)注冊(cè)中心*/
@EnableDiscoveryClient
public class XwlGatewayApplication  {
    public static void main(String[] args) {
        SpringApplication.run(XwlGatewayApplication.class,args);
    }
}

配置文件YML

#端口號(hào)
server:
  port: 10081
#服務(wù)名
spring:
  application:
    name: xwl-gateway
# NACOS配置鏈接注冊(cè)中心
  cloud:
    nacos:
      discovery:
        #被發(fā)現(xiàn)的服務(wù)注冊(cè)地址
        server-addr: 192.168.231.1:8848
        #命名空間
        namespace: f212727d-d812-4945-9464-0fd0e199459b
      config:
        server-addr: 192.168.231.1:8848
        namespace: f212727d-d812-4945-9464-0fd0e199459b
        #綁定配置文件名稱前綴(與nacos注冊(cè)中心上的配置文件名稱相關(guān))
        prefix: ${spring.application.name}
        #組id
        group: DEFAULT_GROUP
        #nacos配置文件后綴
        file-extension: yml
    gateway:
      discovery:
        locator:
          enabled: true #開(kāi)啟從注冊(cè)中心動(dòng)態(tài)創(chuàng)建路由功能
          #路由轉(zhuǎn)發(fā)配置
      routes:
        - #以xwl-Authority服務(wù)名為唯一標(biāo)識(shí)id
        - id: xwl-Authority
          # 內(nèi)置服務(wù)轉(zhuǎn)發(fā)url 也可以是http請(qǐng)求方式
          uri: lb://xwl-Authority
          # 匹配器 這里設(shè)置的是以xwlAuthority前綴匹配的url都轉(zhuǎn)發(fā)到xwl-Authority服務(wù)中
          predicates:
            - Path=/xwlAuthority/**

nacos啟動(dòng)

注:nacos2.0后默認(rèn)以集群方式啟動(dòng),這里我們測(cè)試方便需要用單機(jī)方式啟動(dòng),需要改個(gè)配置,如圖所示
將原來(lái)的cluster改為standalone
微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

新建命名空間

微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

配置網(wǎng)關(guān)yml(nacos)

注意:這里的 Data ID要和配置文件中保持一致
微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

網(wǎng)關(guān)服務(wù)啟動(dòng)

微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

用戶服務(wù)構(gòu)建

在父工程項(xiàng)目點(diǎn)擊右鍵 New-Module起名為xwl-Authority

pom文件

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.1.6</version>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

啟動(dòng)類

@SpringBootApplication
@EnableDiscoveryClient
public class XwlAuthorityApplication {
    public static void main(String[] args) {
        SpringApplication.run(XwlAuthorityApplication.class,args);
    }
}

配置文件YML

server:
  port: 10082
spring:
  application:
    name: xwl-Authority

  # NACOS配置鏈接注冊(cè)中心
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.231.1:8848
        namespace: f212727d-d812-4945-9464-0fd0e199459b
      config:
        server-addr: 192.168.231.1:8848
        namespace: f212727d-d812-4945-9464-0fd0e199459b
        prefix: ${spring.application.name}
        group: DEFAULT_GROUP
        file-extension: yml
    compatibility-verifier:
      enabled: false
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.231.1:3306/xwlmicroservice
    username: root
    password: root

新增url接口

package cn.xwl.controller;


import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("testAuthority")
public class AuthorityController {


    @PostMapping("/getName")
    @ResponseBody
    public String getName(){
        return "ZHANGSAN";
    }
}

配置用戶服務(wù)yml(nacos)

以xwl-Authority.yml為創(chuàng)建Data ID
微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

用戶服務(wù)啟動(dòng)

微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

測(cè)試路由轉(zhuǎn)發(fā)

  1. 訪問(wèn)網(wǎng)關(guān)層
  2. 命中g(shù)ateway配置文件中的url匹配器,從而轉(zhuǎn)發(fā)xwl-Authority服務(wù)
  3. 發(fā)送http請(qǐng)求到xwl-Authority服務(wù)命中具體的url
    微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)

源碼地址

碼云倉(cāng)庫(kù)地址文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-471078.html

到了這里,關(guān)于微服務(wù)之以nacos注冊(cè)中心,以gateway路由轉(zhuǎn)發(fā)服務(wù)調(diào)用實(shí)例(第一篇)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    SpringCloud Alibaba集成 Gateway(自定義負(fù)載均衡器)、Nacos(配置中心、注冊(cè)中心)、Loadbalancer

    路由(route):路由是網(wǎng)關(guān)最基礎(chǔ)的部分,路由信息由一個(gè)ID,一個(gè)目的URL、一組斷言工廠和一 組Filter組成。如果斷言為真,則說(shuō)明請(qǐng)求URL和配置的路由匹配。 斷言(Predicate):Java8中的斷言函數(shù),Spring Cloud Gateway中的斷言函數(shù)輸入類型是 Spring5.0框架中的ServerWebExchange。Sprin

    2024年04月12日
    瀏覽(91)
  • 【Java項(xiàng)目】SpringCloud項(xiàng)目注冊(cè)到Nacos中心時(shí)顯示的是內(nèi)網(wǎng)IP導(dǎo)致不同服務(wù)器之間無(wú)法互相調(diào)用接口的解決并發(fā)

    【Java項(xiàng)目】SpringCloud項(xiàng)目注冊(cè)到Nacos中心時(shí)顯示的是內(nèi)網(wǎng)IP導(dǎo)致不同服務(wù)器之間無(wú)法互相調(diào)用接口的解決并發(fā)

    微服務(wù)項(xiàng)目地址—?jiǎng)觿?dòng)你發(fā)財(cái)?shù)男∈贮c(diǎn)一個(gè)stars吧 出現(xiàn)這個(gè)問(wèn)題是之前我也就遇到過(guò)的,這個(gè)問(wèn)題的情況就是: 我們知道微服務(wù)項(xiàng)目是可以把不同的項(xiàng)目部署在不同的服務(wù)器上從而減少某一臺(tái)服務(wù)器的壓力,我們只需要為每一個(gè)服務(wù)配置一個(gè)注冊(cè)中心即可,然后一個(gè)服務(wù)需要

    2024年02月16日
    瀏覽(30)
  • Nacos和GateWay路由轉(zhuǎn)發(fā)NotFoundException: 503 SERVICE_UNAVAILABLE “Unable to find

    Nacos和GateWay路由轉(zhuǎn)發(fā)NotFoundException: 503 SERVICE_UNAVAILABLE “Unable to find

    2023-08-15 16:51:16,151 DEBUG [reactor-http-nio-2][CompositeLog.java:147] - [dc73b32c-1] Encoding [{timestamp=Tue Aug 15 16:51:16 CST 2023, path=/content/course/list, status=503, error=Service Unavai (truncated)...] 2023-08-15 16:51:16,175 TRACE [reactor-http-nio-2][GatewayMetricsFilter.java:115] - gateway.requests tags: [tag(httpMethod=POST),tag(httpStatusC

    2024年02月12日
    瀏覽(97)
  • Nacos 的底層實(shí)現(xiàn)原理 & 注冊(cè)中心的兩種調(diào)用方式

    Nacos 的底層實(shí)現(xiàn)原理 & 注冊(cè)中心的兩種調(diào)用方式

    目錄 1. Nacos 的底層實(shí)現(xiàn)原理 1.1 配置中心自動(dòng)刷新實(shí)現(xiàn)原理 1.2? 注冊(cè)中心底層實(shí)現(xiàn)原理 2. Nacos 注冊(cè)中心的兩種調(diào)用方式 ?2.1 RestTemplate?+ Spring Cloud LoadBalancer 的調(diào)用方式 2.2 使用 OpenFeign + Spring Cloud LoadBalancer? Nacos 配置中心的自動(dòng)刷新,其底層是基于 長(zhǎng)輪詢+事件驅(qū)動(dòng) 的方式來(lái)

    2024年02月05日
    瀏覽(24)
  • nacos注冊(cè)中心+Ribbon負(fù)載均衡+完成openfeign的調(diào)用(超詳細(xì)步驟)

    nacos注冊(cè)中心+Ribbon負(fù)載均衡+完成openfeign的調(diào)用(超詳細(xì)步驟)

    目錄 1.注冊(cè)中心 1.1.nacos注冊(cè)中心 1.2.?微服務(wù)注冊(cè)和拉取注冊(cè)中心的內(nèi)容 2.3.修改訂單微服務(wù)的代碼 3.負(fù)載均衡組件 3.1.什么是負(fù)載均衡 3.2.什么是Ribbon 3.3.Ribbon 的主要作用 3.4.Ribbon提供的負(fù)載均衡策略 4.openfeign完成服務(wù)調(diào)用 4.1.什么是OpenFeign 4.2.完成openfeign的調(diào)用 ?繼? 微服務(wù)

    2024年02月16日
    瀏覽(26)
  • 微服務(wù)-Nacos(注冊(cè)中心)

    微服務(wù)-Nacos(注冊(cè)中心)

    Nacos是SpringCloud的一個(gè)功能非常強(qiáng)大的組件,想比eureka的功能更加豐富 Nacos(全稱:Naming and Configuration Service)是一個(gè)開(kāi)源的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。它由阿里巴巴集團(tuán)開(kāi)發(fā)并貢獻(xiàn)給開(kāi)源社區(qū),旨在幫助開(kāi)發(fā)者更好地構(gòu)建和管理微服務(wù)架構(gòu)。 Nacos提供了以下核

    2024年02月12日
    瀏覽(23)
  • 【微服務(wù)】Nacos注冊(cè)中心

    【微服務(wù)】Nacos注冊(cè)中心

    國(guó)內(nèi)公司一般都推崇阿里巴巴的技術(shù),比如注冊(cè)中心,SpringCloudAlibaba也推出了一個(gè)名為Nacos的注冊(cè)中心。 Nacos是阿里巴巴的產(chǎn)品,現(xiàn)在是SpringCloud中的一個(gè)組件。相比Eureka功能更加豐富,在國(guó)內(nèi)受歡迎程度較高。 在Nacos的GitHub頁(yè)面,提供有下載鏈接,可以下載編譯好的Nacos服務(wù)

    2024年02月02日
    瀏覽(22)
  • 微服務(wù)注冊(cè)中心-Nacos概述

    微服務(wù)注冊(cè)中心-Nacos概述

    Nacos 是阿里巴巴推出來(lái)的一個(gè)新開(kāi)源項(xiàng)目,這是一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。 Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。 N

    2024年02月04日
    瀏覽(27)
  • Nacos:服務(wù)的注冊(cè)、發(fā)現(xiàn)和配置中心(注冊(cè)篇)

    Nacos:服務(wù)的注冊(cè)、發(fā)現(xiàn)和配置中心(注冊(cè)篇)

    Nacos 是阿里巴巴推出來(lái)的一個(gè)新開(kāi)源項(xiàng)目,這是一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。 Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。 N

    2024年02月15日
    瀏覽(25)
  • nacos 注冊(cè)中心服務(wù)端配置詳解

    Nacos是一個(gè)開(kāi)源的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。在使用Nacos作為注冊(cè)中心時(shí),需要配置Nacos Server的相關(guān)參數(shù)。 下面是Nacos Server的配置參數(shù)詳解: nacos.core.default.namespace: Nacos默認(rèn)的命名空間,用于隔離不同的環(huán)境或不同的應(yīng)用。默認(rèn)值為public。 nacos.naming.data.warmup

    2024年02月13日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包