Nacos(全称为:阿里巴巴开源项目 - 命名服务 & 配置中心)是阿里巴巴集团开源的一个动态服务发现、配置管理和服务管理平台。它提供了一种简单易用的方式来管理和监控微服务应用程序中的服务实例、配置和元数据。
Nacos是一个高度可扩展的平台,支持多种部署方式,包括单机、集群和云部署。它还提供了丰富的API和SDK,方便开发者在应用程序中集成使用。
目录
- 特点
- 主要功能
- 主要应用场景
- 官方文档
- Windows版
- Linux版
- 微服务中整合
- 玩转图形化界面
- 集群搭建
特点
高可用性:Nacos 采用多机房部署和负载均衡技术,保证服务的高可用性和稳定性。
灵活性:Nacos 支持多种注册中心和服务发现协议,并提供了丰富的 API 接口,方便您在应用中接入。
扩展性:Nacos 可以与各种框架和技术栈集成,比如 Spring Cloud、Dubbo、Kubernetes 等,满足您的多样化需求。
安全性:Nacos 提供了完善的安全机制,包括访问控制、加密传输、审计日志等,保障您的数据和应用安全。
主要功能
服务注册与发现:Nacos 支持多种注册中心和服务发现协议,包括 DNS、Dubbo、Spring Cloud 等。通过 Nacos,您可以轻松地将应用注册到服务注册中心,也可以通过服务名或 IP 地址获取其他应用的信息。
动态配置:Nacos 可以对配置文件进行实时更新和管理,支持多种配置格式和变更回调机制。通过 Nacos,您可以方便地对微服务进行动态配置和版本管理。
服务路由和负载均衡:Nacos 支持多种负载均衡算法和路由规则,可以根据实际情况选择最优的服务节点进行请求转发。通过 Nacos,您可以实现高效的服务调用和流量管理。
服务监控和管理:Nacos 可以监控和管理微服务的健康状况、性能指标、调用链路等信息,提供实时告警和数据分析功能。通过 Nacos,您可以更好地了解您的应用运行情况,及时发现和解决问题。
主要应用场景
微服务架构:Nacos 是微服务架构的核心组件之一,可以实现服务的注册与发现、动态配置和流量管理等功能。
分布式系统:Nacos 可以作为分布式系统的配置中心和服务治理平台,帮助您实现系统级别的管理和监控。
云原生应用:Nacos 是云原生应用的重要组成部分,可以与 Kubernetes、Istio 等平台集成,实现服务的弹性伸缩和管理。
官方文档
Nacos中文文档(文档案例为2.1.1版)
下载地址
部署参考
Windows版
启动命令方式1(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
启动命令方式2(standalone代表着单机模式运行,非集群模式):
编辑startup.cmd文件 26行cluster(集群)改为standalone(单机)
双击startup.cmd
Linux版
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
微服务中整合
父工程配置参考:Spring Cloud & Alibaba 快速上手搭建公司项目(一)项目环境合理选择
配置中心
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在 bootstrap.properties 中配置 Nacos server 的地址和应用名
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties
spring.application.name=example
注册中心
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
properties配置(有配置中心后不需要配置):
server.port=8090
spring.application.name=consumer-discovery #更换自己的名字
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
玩转图形化界面
控制台手册
配置中心
打开图形界面添加自己的配置 application.*
添加配置药与自己的服务名一致,注意如果有命名自己定义了命名空间或其他分组,要在后端服务中去指定扫描的命名空间或者分组。
服务发现
后端服务指定好nacos并启动成功后,服务会在这里出现。
命名空间
在这里去配置自己的分组新增命名空间
集群搭建
官网集群搭建