1: Nacos搭建可以參考 http://www.ythuaji.com.cn/article/108376.html
SpringCloud 版本
1
2
3
4
5
6
7
|
< dependency > < groupId >org.springframework.cloud</ groupId > < artifactId >spring-cloud-dependencies</ artifactId > < version >Greenwich.SR2</ version > < type >pom</ type > < scope >import</ scope > </ dependency > |
Nacos pom
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!--配置中心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
1
2
3
4
5
6
7
8
9
10
|
< 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 配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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
描述:開發環境
配置中心功能-測試
在配置管理-》配置列表右側,找到 + 的標志,點擊后新增配置
將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 類型。
上面配置好后,可以啟動項目
啟動日志:
1
2
3
4
|
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 中的配置,啟動后在服務列表中看到我們的項目
按照上面的配置,再創建一個項目 account-server ,注意修改新項目的spring.application.name
在order 項目的pom中添加feign 配置
1
2
3
4
|
< dependency > < groupId >org.springframework.cloud</ groupId > < artifactId >spring-cloud-starter-openfeign</ artifactId > </ dependency > |
測試用戶下單成功后,扣減帳戶錢。order 調用 account 服務,使用feign,跟一般的feign使用一樣。 啟動account服務
代碼目錄 : https://gitee.com/zhangxingsheng/seata-demo
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。