Nacos学习之 Nacos是什么,Nacos的使用
CAP理论
在分布式领域有一个很著名的CAP定理:
-
一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)
Nacos是什么
Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现(注册中心)、服务配置(动态配置中心)、服务元数据及流量管理(服务的健康和状态监控管理)。
Nacos 支持的服务:
服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理。
-
Kubernetes Service gRPC & Dubbo RPC Service Spring Cloud RESTful Service
核心特性
-
动态配置服务:动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。 服务发现及管理:动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。 动态DNS服务:通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。 服务及其元数据管理:Nacos能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的SLA以及最首要的metrics 统计数据。
Nacos 地图
Nacos 架构图
基本架构图
逻辑架构图
Nacos的使用
Nacos服务器部署
1.环境准备
-
64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。 64 bit JDK 1.8+ Maven 3.2.x+;
2.下载源码
下载github源码:: https://github.com/alibaba/nacos.git
或者下载编译后的压缩包(nacos-server-$version.zip):https://github.com/alibaba/nacos/releases
3.单机模式启动服务器和关闭服务器
-
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone 或 windows: cmd startup.cmd -m standalone
-
(本地访问链接:http://127.0.0.1:8848/nacos/#/login ; 账号:nacos/nacos) 服务注册&发现和配置管理
服务注册 curl -X POST http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080 服务发现 curl -X GET http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName 发布配置 curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld" 获取配置 curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
-
关闭服务器:
sh shutdown.sh 或 Windows:cmd shutdown.cmd
在这里代办Nocas服务器启动完成,接下去是服务提供者和服务消费者的 服务注册&发现和配置管理
Nacos官网文档地址:https://nacos.io/zh-cn/docs/