首先從整個軟件的功能和應用場景來說,nacos更像consul,而非eureka,nacos設計的時候自帶的配置中心功能,讓我們省下了去搞springcloud config的時間,但這里並不是說nacos或者consul比eureka優秀,只是因為eureka在分布式環境下更加注重的是可用性,而犧牲了他的最終一致性,在不同的領域上,nacos和eureka都有他們自己的建樹,關鍵還是看具體的架構需求。廢話不多說直接進入nacos的初探尋。
1.nacos服務端應用,啟動
1.1 下載安裝
nacos服務端對比euerka來說相對比較麻煩一點,需要我們自己去下載安裝,而非引入跑程序
下載地址
https://github.com/alibaba/nacos/releases
1.2 解壓,啟動
選擇完之后解壓
linux下就是tar -zxvf nacos-server-1.0.0.tar.gz
windows就直接用軟件解壓即可
進入如軟件bin目錄下
linux 啟動命令 sh startup.sh -m standalone
windows 直接雙擊即可
啟動成功的話效果會是

瀏覽器請求http://localhost:8848/nacos/index.html 可查看情況
新版本的nacos自帶着用戶登錄驗證,默認賬號和密碼都都輸入nacos即可

1.3 springcloud微服務以nacos為注冊中心啟動
1.3.1 父級項目配置
因為springcloud是一個集成了很多框架組件的一個項目,所以項目也為了方便把一些公用的依賴到父級的pom文件下其中的關鍵主要是
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent>
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.9.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
上圖兩個依賴分別是springboot的版本依賴,和springcloud alibaba的依賴,下面貼出來的就是詳細的父級pom文件,下面打包的配置可以不用管,只需要看dependency的依賴即可
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gitee.simons.cloud</groupId> <artifactId>simons-cloud</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>simons-cloud</name> <description>simons parent</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.9.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <properties> <spring-boot.version>2.1.3.RELEASE</spring-boot.version> <project.build.sourceEncoding>UTF-8