What is Nacos

文章目录
  1. 1. 概览
  2. 2. 什么是 Nacos?
  3. 3. 快速入门
    1. 3.1. 预备环境准备
    2. 3.2. 下载源码或者安装包
    3. 3.3. 启动服务器
    4. 3.4. 服务注册&发现和配置管理
  4. 4. 参考文献
  5. 5. 说点什么

今天凌晨,阿里旗下的Nacos没有一点点防备的就悄悄上线了,博主前段时间去参加上海Dubbo开发者交流沙龙的时候,听到 Nacos的消息一直对它很是期待…..

概览

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

什么是 Nacos?

Nacos 的概念

Nacos 的概念

服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的服务的发现、配置和管理

Nacos 的关键特性包括:

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

    Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK TODO、OpenAPI TODO、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API TODO查找和发现服务。
    Nacos 提供实时健康检查,阻止服务向不健康的主机或服务实例发送请求。Nacos 支持传输层(ping 或 TCP)和应用层(如 http、redis、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境(如 VPC、边缘服务等)的健康检查,Nacos 提供 agent 模式和服务端模式。Nacos 还提供统一的健康检查仪表盘,帮助您管理服务可用性及流量。

  • 动态配置服务

    动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。

    动态配置消除了配置变更时重新部署应用和服务的需要,让配置变得更加高效和敏捷。

    配置中心化管理让无状态服务实现变得更简单,让服务按需弹性扩展变得更容易。

    Nacos 提供了一个 简单易用的UI TODO 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、回滚配置以及客户进程配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地管理配置变更和控制配置变更的风险。

  • 动态 DNS 服务

    动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务帮助您更容易地实现以 DNS 协议为基础的服务发现。

    Nacos 提供了一些简单的 DNS APIs TODO 帮助您管理服务的关联域名和可用的 IP:Port 列表.

  • 服务及其元数据管理

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

  • Nacos 全景图

Nacos 全景图

快速入门

预备环境准备

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

下载源码或者安装包

1
2
unzip nacos-all.zip cd nacos/ mvn -Prelease-nacos clean install -U
cd distribution/target/nacos-all/nacos

启动服务器

Linux/Unix/Mac

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

Windows

启动命令: cmd startup.cmd 或者双击startup.cmd运行文件。

服务注册&发现和配置管理

服务注册

1
curl -X PUT 'http://127.0.0.1:8080/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服务发现

1
curl -X GET 'http://127.0.0.1:8080/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'

发布配置

1
curl -X POST "http://127.0.0.1:8080/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

获取配置

1
curl -X GET "http://127.0.0.1:8080/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

关闭服务器

  • Linux/Unix/Mac: sh shutdown.sh
  • Windows: cmd shutdown.cmd

参考文献

https://nacos.io/#/docs/what-is-nacos.md?lang=zh-cn

说点什么

微信公众号(欢迎调戏):battcn

公众号

个人博客:http://blog.battcn.com/