在 SpringCloud 系列(一)里面介绍了 Eureka 注册中心主要用来做什么,如何搭建并进行了简单的测试,但是 Eureka 有诸多不便之处,如需要配合 SpringCloud config 来实现,我们还需要再写一个 Module 进行启动等,针对某些不便及技术的延伸,于是阿里巴巴就开发出了 Nacos 这个产品,现在也是 SpringCloud 中的一个重要组件,相比较于 Eureka 的功能更加丰富;当然并不是说 Eureka 现在就没人用了,其实在国外还是有很多使用 Eureka 的,但是在国内,Nacos 的受欢迎度相比较于 Eureka 就高出了不少。关于两者的区别在本篇文章的后面会进行对比。
Nacos: 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 注册中心
- ⚽️ Nacos 服务搭建
- ⚽️⚽️ Nacos 服务注册及发现
- ⚽️⚽️⚽️ Nacos 注册中心和 Eureka 注册中心的异同
⚽️ Nacos 服务搭建
☞第一步:下载 nacos 包
下载地址:https://github.com/alibaba/Nacos/releases;
解压包并进入到 bin 目录下;
☞☞第二步:启动 nacos, 指令:sh startup.sh -m standalone
,出现如下界面代表启动成功;
☞☞☞第三步:测试:浏览器输入 nacos 地址:http://localhost:8848/nacos/#/login,注意用户名及密码都是 nacos;出现如下界面代表 nacos 启动成功!
⚽️⚽️ Nacos 服务注册及发现
☞第一步:引依赖
在父工程的 pom.xml 中引入 SpringCloudAlibaba 的依赖;
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
在服务消费者(consumer-service)及服务提供者(provider-service)的 pom.xml 中引入 nacos-discovery 依赖;
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
☞☞第二步:配置 nacos 地址
在服务消费者(consumer-service)及服务提供者(provider-service)的 application.yml 中添加 nacos 地址;
spring:
cloud:
nacos:
server-addr: localhost:8848
☞☞☞第三步:打开 nacos 控制台查看是否已经配置成功;注意刷新!!!
到这里,nacos 的搭建就已经结束了!!!
⚽️⚽️⚽️ Nacos 注册中心和 Eureka 注册中心的异同
共同点:
- 都支持服务注册及服务的拉取;
- 都利用心跳方式进行健康检测;
区别:
- Nacos 支持服务端主动监测提供者的状态,临时实例采用心跳模式,非临时实例则采用主动监测模式;
- 临时实例健康状况不正常则会被剔除,非临时实例则不会被剔除;
- Nacos 支持服务列表变更的消息推动模式,服务列表的更新更加及时;
- Nacos 集群默认采用 AP 方式,当集群中存在非临时实例时,采用 CP 模式; 而 Eureka 采用 AP 方式。