Nacos
1
概述
NACOS致力于帮助您发现、配置和管理微服务。它提供了一组简单而有用的功能,使您能够实现动态服务发现、服务配置、服务元数据和流量管理。
Nacos使构建、交付和管理微服务平台变得越来越容易和快速。它是一种基础设施,采用微服务或云本机方法,支持以服务为中心的现代应用程序体系结构。
2
Nacos到底是什么?
在Nacos中,Service是一等的公民。nacos支持发现、配置和管理几乎所有类型的服务:
- Kubernetes Service
- gRPC & Dubbo RPC Service
- Spring Cloud RESTful Service
3
Nacos的主要特性
- 服务发现和服务健康检查
nacos支持基于DNS和基于RPC(dubbo/grpc)的服务发现。在服务提供者向本机、OpenAPI或专用代理注册服务之后,使用者可以使用DNS或HTTP发现服务。
NACOS提供实时健康检查,以防止服务向不健康的主机或服务实例发送请求。nacos支持传输层(ping或tcp)健康检查和应用层(如http、redis、mysql和用户定义的协议)健康检查。对于复杂云和网络拓扑(如vpc、边缘服务等)的健康检查,nacos提供代理模式和服务器模式健康检查。naco还提供统一服务健康仪表盘,帮助您管理服务的可用性和流量。
- 动态配置管理
动态配置服务允许您在所有环境中以集中、外部化和动态的方式管理所有应用程序和服务的配置。
动态配置无需在更新配置时重新部署应用程序和服务。
配置的集中管理使您更方便地实现无状态服务和按需服务实例的弹性扩展。
nacos提供了一个易于使用的用户界面todo来帮助您管理所有应用程序或服务的配置。它提供了一些现成的功能,包括配置版本跟踪、金丝雀/测试版发布、配置回滚和客户端配置更新状态跟踪,以确保安全并控制配置更改的风险。
- 动态DNS服务
支持加权路由的动态DNS服务使您更容易在数据中心内的生产环境中实现中端负载平衡、灵活的路由策略、流量控制和简单的DNS解析服务。动态DNS服务使您更容易实现基于DNS的服务发现。
nacos提供一些简单的dns api todo,供您管理dns域名和ip。
- 服务治理和元数据管理
NACOS允许您从微服务平台构建器的角度管理所有服务和元数据。这包括管理服务描述、生命周期、服务静态依赖性分析、服务运行状况、服务流量管理、路由和安全规则、服务SLA和度量。
- 更多特性
4
Nacos一览
如上图所示,nacos无缝地支持开源生态系统,包括dubbo和dubbo mesh、Spring Cloud、Kubernetes和CNCF。
使用Naco简化服务发现、配置管理和服务治理和管理中的解决方案。使用Nacos,开源系统中的微服务管理非常简单。
- 环境准备
64bit OS: Linux/Unix/Mac/Windows supported, Linux/Unix/Mac recommended.
64bit JDK 1.8 : downloads, JAVA_HOME settings.
Maven 3.2.x : downloads, settings.
- 下载和构建
(1)从github下载源码
代码语言:javascript复制unzip nacos-source.zip cd nacos/ mvn -Prelease-nacos clean install -U cd nacos/distribution/target/nacos-server-0.8.0/nacos/bin
(2)下载运行包
代码语言:javascript复制unzip nacos-server-0.9.0.zip OR tar -xvf nacos-server-0.9.0.tar.gz cd nacos/bin
- 启动服务
Linux/Unix/Mac
代码语言:javascript复制sh startup.sh -m standalone
Windows
代码语言:javascript复制cmd startup.cmd
- 服务和配置管理
服务注册
代码语言:javascript复制http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName.helloworld&ip=20.18.7.10&port=8080
服务发现
代码语言:javascript复制http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName.helloworld
发布配置
代码语言:javascript复制http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld
获取配置
代码语言:javascript复制http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test
- 关闭Nacos服务
Linux/Unix/Mac
代码语言:javascript复制sh shutdown.sh
Windows
代码语言:javascript复制cmd shutdown.cmd