在 跟我學Spring Cloud(Finchley版)-02-構建分佈式應用 一文中,已編寫好兩個微服務;在 跟我學Spring Cloud(Finchley版)-04-服務註冊與服務發現-原理剖析 一文中詳細剖析了服務發現的原理。如果對這塊知識有疑問,可先行復習一下。
本文探討如何將 跟我學Spring Cloud(Finchley版)-02-構建分佈式應用 一節中的應用註冊到Nacos上。
準備工作
在pom.xml
中添加如下內容,主要是引入Spring Cloud項目的父Pom,以及Spring Cloud Alibaba的父Pom,從而幫助我們管理依賴版本。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
TIPS
這裏,由於Spring Cloud Alibaba是基於Spring Cloud的,所以兩者存在兼容性關係。Spring Cloud Alibaba 0.2.1目前能完美兼容Spring Cloud Finchley。
筆者諮詢過Spring Cloud Alibaba官方的小夥伴,號稱能夠兼容Greenwich,但筆者測試有好幾個用例無法兼容,請大家注意。
編碼
-
加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
-
加註解
@SpringBootApplication @EnableDiscoveryClient public class ProviderUserApplication { public static void main(String[] args) { SpringApplication.run(ProviderUserApplication.class, args); } ... }
-
寫配置
spring: application: # 註冊到Nacos上的服務名稱 name: microservice-provider-user cloud: nacos: discovery: server-addr: 127.0.0.1:8848
測試
-
啓動Nacos( 參考:Spring Cloud Alibaba系列教程-01-Nacos安裝與啓停 )
-
啓動應用
microservice-provider-user
-
訪問Nacos首頁左側導航欄上的
服務列表
,可看到類似如下的界面:如圖,我們已成功將應用註冊到Nacos上了。
總結
由代碼可知,得益於Spring Cloud統一的規範,將應用註冊到Nacos上或Eureka上代碼差異不大。
配套代碼
本文首發
<http://www.itmuch.com/spring-cloud-alibaba/02-nacos-service-registry/>