SpringCloud整合Nacos實(shí)現(xiàn)流程詳解
1: Nacos搭建可以參考 http://www.dhdzp.com/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>
<!--服務(wù)發(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 項(xiàng)目 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 # 服務(wù)發(fā)現(xiàn)地址nacos的地
namespace: ${spring.profiles.active}
server: port: 8056
在 Nacos的控制臺左側(cè)找到命名空間的菜單,新增命名空間
命名空間id : dev
命名空間名稱: dev
描述:開發(fā)環(huán)境
配置中心功能-測試
在配置管理-》配置列表右側(cè),找到 + 的標(biāo)志,點(diǎn)擊后新增配置

將yml 中的配置添入進(jìn)去
之所以需要配置 spring.application.name ,是因?yàn)樗菢?gòu)成 Nacos 配置管理 dataId字段的一部分。
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
prefix 默認(rèn)為 spring.application.name 的值,也可以通過配置項(xiàng) spring.cloud.nacos.config.prefix來配置。
spring.profiles.active 即為當(dāng)前環(huán)境對應(yīng)的 profile,詳情可以參考 Spring Boot文檔。 注意:當(dāng) spring.profiles.active 為空時(shí),對應(yīng)的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
file-exetension 為配置內(nèi)容的數(shù)據(jù)格式,可以通過配置項(xiàng) spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型。
上面配置好后,可以啟動(dòng)項(xiàng)目
啟動(dòng)日志:
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
從日志可以看到他會(huì)從nacos上匹配 based on dataId[order-server-dev.yml] & group[business-app] 和 [order-server.yml] & group[business-app] 配置文件。并且項(xiàng)目也是啟動(dòng)成功的,因?yàn)轫?xiàng)目中加入了數(shù)據(jù)庫的pom,如果沒有獲取到配置會(huì)啟動(dòng)失敗。
服務(wù)發(fā)現(xiàn)功能-測試
按照上面yml 中的配置,啟動(dòng)后在服務(wù)列表中看到我們的項(xiàng)目

按照上面的配置,再創(chuàng)建一個(gè)項(xiàng)目 account-server ,注意修改新項(xiàng)目的spring.application.name
在order 項(xiàng)目的pom中添加feign 配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
測試用戶下單成功后,扣減帳戶錢。order 調(diào)用 account 服務(wù),使用feign,跟一般的feign使用一樣。 啟動(dòng)account服務(wù)

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

