#### 什么是Nacos Nacos 是阿里巴巴的開源的項目,Nacos致力於幫助您發現、配置和管理微服務。Nacos提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos幫助您更敏捷和容易地構建、交付和管理微服務平台。Nacos是構建以“服務”為中心的現代應用架構 (例如微服務范式、雲原生范式) 的服務基礎設施。 將使用Nacos作為微服務架構中的注冊中心(替代:eurekba、consul等傳統方案)以及配置中心(spring cloud config)來使用。 #### Nacos生態圖  #### 搭建Nacos環境 下載最新地址:https://github.com/alibaba/nacos/releases 本章節使用的版本:nacos-server-1.1.3 下載完成之后,解壓。根據不同平台,執行不同命令,啟動單機版Nacos服務: ``` + Linux/Unix/Mac:sh startup.sh -m standalone + Windows:cmd startup.cmd -m standalone ``` 啟動完畢后,訪問:http://127.0.0.1:8848/nacos/ ,進行登錄賬號密碼默認:nacos nacos想當與之前的eureka注冊中心,有了注冊中心,我們現在快速實現一個服務注冊 創建alibaba-nacos項目 引入pom.xml依賴 ```
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
com.xiaobin
alibaba-nacos
0.0.1-SNAPSHOT
alibaba-nacos
Demo project for Spring Boot
1.8
org.springframework.cloud
spring-cloud-dependencies
Finchley.SR1
pom
import
org.springframework.cloud
spring-cloud-alibaba-dependencies
0.2.2.RELEASE
pom
import
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
``` application配置文件 ``` spring.application.name=nacos-test spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 server.port=10010 ``` 創建應用主類進行啟動 ``` @SpringBootApplication @EnableDiscoveryClient public class AlibabaNacosApplication { public static void main(String[] args) { SpringApplication.run(AlibabaNacosApplication.class, args); } @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } } } ``` 啟動成功后,在nacos的控制台服務列表中就可以看到信息,效果圖  在注冊一個服務進行消費操作 創建alibaba_nacos_provider項目依賴和上文是一樣的 配置application ``` spring.application.name=nacos-provider spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ``` 添加Http接口進行測試 ``` @SpringBootApplication @EnableDiscoveryClient @RestController public class ProviderApp { public static void main(String[] args) { SpringApplication.run(ProviderApp.class); } @GetMapping("/get") public String get(){ return "SpringCloud alibaba 我來啦..."; } } ``` 啟動項目,會發現服務列表中多了nacos-provider  回到alibaba-nacos項目,添加TestController進行調用消費 ``` package com.xiaobin.alibabanacos; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; /** * 創建時間: 2019/9/25 23:02 * 備注: * 碼農自學交流小群:260532022,歡迎大家的加入,分享學習是一件開心事 **/ @RestController public class TestController { @Autowired private RestTemplate restTemplate; @GetMapping("/test") public String test(){ return restTemplate.getForObject("http://nacos-provider/get", String.class); } } ``` 訪問 http://localhost:10010/test 接口請求  #### 小結 一個 Nacos 就輕松搞定了,還捎帶着配置管理中心,一舉兩得,何樂不為。 ###### 碼農自學交流小群:260532022,歡迎大家的加入,分享學習是一件開心事