Nacos学习与实战
阅读原文时间:2023年07月08日阅读:1

1. 什么是Nacos

官网:https://nacos.io/zh-cn/index.html

Nacos是阿里巴巴集团开源的项目,Nacos 致力于帮助您发现、配置和管理微服务。

Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2. 为什么要学习使用Nacos

在采用以“服务 (Service)”为中心的诸如微服务今天,注册中心可以说是微服务架构中的”通讯录“,它是必不可少的,它记录了服务和服务地址的映射关系。

我们熟知的Eureka已经停止维护了。而目前的Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务。

Nacos 无缝支持一些主流的开源生态,例如:

  • Spring Cloud
  • Apache Dubbo and Dubbo Mesh
  • Kubernetes and CNCF。

2.1 Nacos的关键特性:

  • 服务发现和服务健康监测

      Nacos 支持基于 DNS 和基于 RPC 的服务发现。
      服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费    者可以使用DNS TODO 或HTTP&API查找和发现服务。
    
      Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。
      Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。
  • 动态配置服务

      动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
      Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。
  • 动态 DNS 服务

      动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。
      动态DNS服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。
  • 服务及其元数据管理

      Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

3. Nacos下载使用

3.1 预备环境准备

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

      64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
      64 bit JDK 1.8+;下载 & 配置。
      Maven 3.2.x+;下载 & 配置。

3.2 下载源码自行编译或直接下载安装包

直接下载安装包方式:

地址:https://github.com/alibaba/nacos/releases 下载 nacos-server-$version.zip 包。

3.3 启动Nacos

  1. Linux/Unix/Mac

    启动命令(standalone代表着单机模式运行,非集群模式):
    sh startup.sh -m standalone
    如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
    bash startup.sh -m standalone

  2. Windows

    启动命令(standalone代表着单机模式运行,非集群模式):
    cmd startup.cmd -m standalone

4. Nacos与各种常用框架集成

Nacos Spring 快速开始

Nacos Spring Boot 快速开始

Nacos Spring Cloud

Dubbo 融合 Nacos 成为注册中心

5. 控制台手册

Nacos 控制台主要旨在于增强对于服务列表,健康状态管理,服务治理,分布式配置管理等方面的管控能力,以便进一步帮助用户降低管理微服务应用架构的成本.