Spring-cloud-alibaba之Nacos(注册中心)

151 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第9天,点击查看活动详情

由于工作业务需要顺带看了一下springcloud的注册中心,于是便有了这篇文章

Spring-cloud-alibaba-服务注册与配置中心:Nacos

什么是Spring-cloud-alibaba

官方解释: Spring Cloud Alibaba是Spring Cloud下的一个子项目,Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案,它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序,使用Spring Cloud Alibaba,您只需要添加一些注解和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统;

Spring-cloud-alibaba 功能组件

核心组件

  1. 注册中心 - Nacos
  2. 负责均衡 - Ribbon
  3. 服务调用 - Feign
  4. 网关 - Gateway
  5. 熔断器 - Sentinel

其他组件

  • 服务配置 - Config , Nacos
  • 服务跟踪 - Sleuth,ZipKin
  • 监控组件 - Actuator,Hystrix Dashboard,Springboot Admin Server
  • 等。。。

什么是Nacos

Nacos是个更易于构建云原生应用的动态服务发现、服务配置和服务管理平台,它既是注册中心,也是配置中心 更是服务中心; 它提供了服务发现和服务健康检测, 提供了动态配置服务 动态DNS服务

Nacos核心功能

  1. 服务注册: 当服务一启动的时候,就会自动的将服务中的元数据注册到 Nacos服务注册中心的服务表中。
  2. 服务心跳: 在微服务(Nacos客户端)有一个定时心跳来持续通知注册中心,说明服务一直处于可用状态,防止被删除,默认5s发送一次心跳。
  3. 服务同步: Nacos Server(Nacos 注册中心)集群的时候,集群之间会相互同步服务实例,用来保证服务信息的一致性。
  4. 服务发现: Nacos客户端在调用服务的时候,会发送一个rest请求给Nacos注册中心,获取注册的服务清单,并且将其缓存在Nacos客户端本地,在Nacos客户端本地开启一个定时任务定时拉取服务器最新的注册表信息更新到本地缓存。
  5. 服务健康检查: Nacos 注册中心会开启一个定时任务来检查注册服务实例的健康情况,对于超过15s没有收到客户端心跳的实例会将healthy属性设置为false,如果某个实例超过30s没有收到心跳,直接删除该实例(被删除的实例如果恢复心跳会重新注册)。

Nacos简单使用

Nacos下载安装

下载地址: github.com/alibaba/nac… image.png

我们这里选择的是windows版,直接下载解压,然后命令执行startup.cmd -m standalone单机版启动即可。 image.png

启动成功 访问nacos地址: http://localhost:8848/nacos 账号和密码都是 nacos image.png

创建好配置,可查看代码示例 运行即可看到配置读取成功 image.png

nacos默认是集群部署的,这里简单使用的是单机版本,更多功能可以查看nacos官网网站nacos.io/zh-cn/index…