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/
经验分享 程序员 微信小程序 职场和发展