「NACOS」- 服务发现 | 配置管理 | Dynamic Naming and Configuration Service

认识

官网:https://nacos.io/
文档:https://nacos.io/docs/latest/what-is-nacos/
仓库:https://github.com/alibaba/nacos

Nacos /nɑ:kəʊs/ 是个更易于构建云原生应用的动态服务发现、配置管理、服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。简而言之,Nacos 是个平台,提供微服务相关的功能,例如,配置管理、服务发现、……

组成

性质

及时清理停止的微服务

修改 Nacos 服务端的配置(application.properties 或 cluster.conf):

  • 心跳间隔时间(默认5秒)nacos.naming.heart-beat-interval=5000
  • 健康检查过期时间(默认15秒)nacos.naming.health-check.heart-beat-timeout=15000
  • 实例删除超时时间(默认30秒)nacos.naming.expire-instance=30000

使用主动注销 API | 在微服务停止时,主动调用 Nacos 的注销接口;

使用 Nacos 的自动注销功能 | 确保你的客户端配置了正确的关闭钩子(Spring Cloud Alibaba 默认已支持):

  • spring.cloud.nacos.discovery.auto-deregister: true

手动清理 | 可以通过 Nacos 控制台手动删除已停止的服务实例

使用 Nacos 的 OpenAPI | 可以通过调用 Nacos 的 OpenAPI 来删除实例;

构建

社区版 and 企业版

参考 https://nacos.io/cloud 页面,以了解不同版本的功能特性。

企业版本 | https://www.aliyun.com/product/aliware/mse?spm=nacos.cloud.topbar.0.0.0

微服务引擎 MSE 面向主流微服务场景提供:注册配置和分布式协调(Nacos/ZooKeeper/Eureka)、云原生网关(Higress/Nginx/Envoy)、服务治理(Spring Cloud/Dubbo/Sentinel)以及任务调度(XXL-JOB/ElasticJob/K8s Job/Spring Scheduled)等产品和能力。

版本选择

发布历史 https://nacos.io/download/release-history

https://github.com/alibaba/nacos/releases

容器镜像

[I] SRC: docker.io/nacos/nacos-peer-finder-plugin:latest
[I] DST: ccr.ccs.tencentyun.com/d3rm-3rd/docker.io_nacos_nacos-peer-finder-plugin:latest

[I] SRC: docker.io/nacos/nacos-server:v2.4.0
[I] DST: ccr.ccs.tencentyun.com/d3rm-3rd/docker.io_nacos_nacos-server:v2.4.0

[I] SRC: docker.io/ygqygq2/mysql-exec-sql:latest
[I] DST: ccr.ccs.tencentyun.com/d3rm-3rd/docker.io_ygqygq2_mysql-exec-sql:latest