首先从整个软件的功能和应用场景来说,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