SpringCloud整合Nacos實現(xiàn)流程詳解
1: Nacos搭建可以參考 http://m.fzitv.net/article/196842.htm
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>
<!--服務發(fā)現(xiàn)pom-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${alibaba-nacos-discovery.version}</version>
</dependency>
數(shù)據(jù)庫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} # 命令空間,可以用來區(qū)分不同的環(huán)境
discovery:
server-addr: 10.0.0.51:8848 # 服務發(fā)現(xiàn)地址nacos的地
namespace: ${spring.profiles.active}
server: port: 8056
在 Nacos的控制臺左側找到命名空間的菜單,新增命名空間
命名空間id : dev
命名空間名稱: dev
描述:開發(fā)環(huán)境
配置中心功能-測試
在配置管理-》配置列表右側,找到 + 的標志,點擊后新增配置

將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 即為當前環(huán)境對應的 profile,詳情可以參考 Spring Boot文檔。 注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
file-exetension 為配置內容的數(shù)據(jù)格式,可以通過配置項 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] 配置文件。并且項目也是啟動成功的,因為項目中加入了數(shù)據(jù)庫的pom,如果沒有獲取到配置會啟動失敗。
服務發(fā)現(xiàn)功能-測試
按照上面yml 中的配置,啟動后在服務列表中看到我們的項目

按照上面的配置,再創(chuàng)建一個項目 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服務

代碼目錄 : https://gitee.com/zhangxingsheng/seata-demo
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Alibaba?SpringCloud集成Nacos、openFeign實現(xiàn)負載均衡的解決方案
- SpringCloud使用Nacos保存和讀取變量的配置方法
- SpringBoot項目改為SpringCloud項目使用nacos作為注冊中心的方法
- 關于springcloud集成nacos遇到的問題
- SpringCloud2020整合Nacos-Bootstrap配置不生效的解決
- SpringCloud-Alibaba-Nacos啟動失敗解決方案
- Springcloud seata nacos環(huán)境搭建過程圖解
- Springcloud-nacos實現(xiàn)配置和注冊中心的方法
- springcloud nacos的賦值均衡和動態(tài)刷新
相關文章
使用Cloud Toolkit在IDEA中極速創(chuàng)建dubbo工程
這篇文章主要介紹了使用Cloud Toolkit在IDEA中極速創(chuàng)建dubbo工程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
詳解如何為SpringBoot項目中的自定義配置添加IDE支持
這篇文章主要介紹了詳解如何為SpringBoot項目中的自定義配置添加IDE支持,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
SpringBoot整合SpringSecurity和JWT的示例
這篇文章主要介紹了SpringBoot整合SpringSecurity和JWT的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06
使用eclipse 實現(xiàn)將springboot項目打成jar包
這篇文章主要介紹了使用eclipse 實現(xiàn)將springboot項目打成jar包的流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

