溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud如何實現整合Nacos

發布時間:2020-10-29 18:28:08 來源:億速云 閱讀:552 作者:Leah 欄目:開發技術

SpringCloud如何實現整合Nacos?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

SpringCloud 版本

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Greenwich.SR2</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Nacos pom

<!--配置中心pom-->
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
      <version>${alibaba-nacos-config.version}</version>
    </dependency>
 
<!--服務發現pom-->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>${alibaba-nacos-discovery.version}</version>
    </dependency>

數據庫pom

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>${druid.version}</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.conn.version}</version>
    </dependency>

order 項目 bootstrap.yml 配置

spring:
 application:
  name: order-server
 profiles:
  active: dev
 cloud:
  nacos:
   config:
    server-addr: 10.0.0.51:8848 # 配置中心nacos的地址
    file-extension: yml # 配置文件后綴(格式)
    group: business-app # 分組名稱
    namespace: ${spring.profiles.active} # 命令空間,可以用來區分不同的環境
   discovery:
    server-addr: 10.0.0.51:8848 # 服務發現地址nacos的地
    namespace: ${spring.profiles.active}

 server: port: 8056

在 Nacos的控制臺左側找到命名空間的菜單,新增命名空間

命名空間id : dev
命名空間名稱: dev
描述:開發環境

配置中心功能-測試

在配置管理-》配置列表右側,找到 + 的標志,點擊后新增配置

SpringCloud如何實現整合Nacos

將yml 中的配置添入進去

之所以需要配置 spring.application.name ,是因為它是構成 Nacos 配置管理 dataId字段的一部分。

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}
prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。
spring.profiles.active 即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔。 注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
file-exetension 為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型。

上面配置好后,可以啟動項目

啟動日志:

Ignore the empty nacos configuration and get it based on dataId[order-server.yml] & group[business-app]
2020-09-16 14:05:07.053 WARN 27342 --- [      main] c.a.c.n.c.NacosPropertySourceBuilder   : Ignore the empty nacos configuration and get it based on dataId[order-server-dev.yml] & group[business-app]
2020-09-16 14:05:07.053 INFO 27342 --- [      main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='order-server-dev.yml,business-app'}, NacosPropertySource {name='order-server.yml,business-app'}, NacosPropertySource {name='order-server,business-app'}]}
2020-09-16 14:05:07.077 INFO 27342 --- [      main] com.order.OrderApplication        : The following profiles are active: dev

從日志可以看到他會從nacos上匹配 based on dataId[order-server-dev.yml] & group[business-app] 和 [order-server.yml] & group[business-app] 配置文件。并且項目也是啟動成功的,因為項目中加入了數據庫的pom,如果沒有獲取到配置會啟動失敗。

服務發現功能-測試

按照上面yml 中的配置,啟動后在服務列表中看到我們的項目

SpringCloud如何實現整合Nacos

按照上面的配置,再創建一個項目 account-server ,注意修改新項目的spring.application.name

在order 項目的pom中添加feign 配置

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

測試用戶下單成功后,扣減帳戶錢。order 調用 account 服務,使用feign,跟一般的feign使用一樣。 啟動account服務

SpringCloud如何實現整合Nacos

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女