nacos介绍

文章来源:华科小宝   作者:魏天宏     发布时间:2020-12-31 03:41    浏览量:

Nacos是一个服务发现、配置管理和服务管理的组件。

说到服务注册与发现,会想到EurekaZookeeper

说到服务治理,会想到Dubbo

说到配置管理,会想到Apollo

但作为后起之秀的Nacos更强大更简洁。

 

一、什么是Nacos

Nacos 可以快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理。

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

Kubernetes Service

gRPC & Dubbo RPC Service

Spring Cloud RESTful Service

Nacos 的关键特性包括:

1、服务发现和服务健康监测

Nacos 支持基于 DNS 和 基于 RPC 的服务发现。服务提供者使用 原生SDKOpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO HTTP&API查找和发现服务。

Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING TCP)和应用层 (HTTPMySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。

2、动态配置服务

更新配置后无需重新部署或重启服务,立即生效;

Nacos 提供了一个简洁易用的UI(控制台)帮助您管理所有的服务和应用的配置;

Nacos 提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪等功能;

3、动态 DNS 服务

动态 DNS 服务支持权重路由,你可以更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。

4、服务及其元数据管理

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

、为什么用Nacos

2.png

Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如 Dubbo and Dubbo Mesh TODO、Spring Cloud TODO、Kubernetes and CNCF TODO。

使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务管理、共享、组合更加容易。

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

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

二. Nacos的搭建

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境

1、安装使用:你可以通过源码和发行包两种方式来获取 Nacos

1) Github 上下载源码方式

git clone https://github.com/alibaba/nacos.git

2)下载编译后压缩包方式

您可以到Nacos官网上从最新稳定版本下载 nacos-server-$version.zip 包或者tar包。

2、启动服务器

1)Linux/Unix/Mac

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

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

2)Windows

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

cmd startup.cmd -m standalone

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

1)服务注册

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?

serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

2)服务发现

curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?

serviceName=nacos.naming.serviceName'

3)发布配置

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?

dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

4)获取配置

curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?

dataId=nacos.cfg.dataId&group=test"

3.png

4、关闭服务器

1)Linux/Unix/Mac

sh shutdown.sh

2)Windows

cmd shutdown.cmd

或者双击shutdown.cmd运行文件。


甘肃华科信息技术有限责任公司    版权所有    甘公网安备 62010202001329