今天来学学Nacos

Posted 故里学Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今天来学学Nacos相关的知识,希望对你有一定的参考价值。

一、Nacos介绍

Nacos是阿里zhuc中间件团队开源的一款服务发现、配置和管理微服务的中间件,关键的特性包括:

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

Nacos是基于DNS和基于RPC的服务发现、服务提供者使用原生SDK、OpenAPI、或一个独立的Agent TODO注册service后,服务消费者可以使用DNS TODO或HTTP&API查找和发现服务。提供对服务的实时健康检查,阻止向不健康的主机或服务实例发送请求

  • 动态配置服务

动态配置服务可以以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置,还消除了配置变更时重启服务的需要,让配置管理更加的高效和敏捷。同时配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。

  • 动态DNS服务

动态DNS服务支持权重路由,可以更容易的实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还可以更容易的实现以DNS协议为基础的服务发现,以帮助消除耦合到私有服务发现API上的风险。

  • 服务及其元数据管理

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

二、Nacos架构

  • 基础架构及概念

今天来学学Nacos

Service (服务)

服务是指一个或一组软件的功能,其目的是不同的客户端可以为不同的目的重用。Nacos支持主流的服务生态,如Kubernetes Service、gRPC|Dubbo RPC Service 或者 Spring Cloud RESTful Service。

Service Registry(服务注册中心)

服务注册中心,它是服务,其实例及元数据的数据库,服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查API来验证它是否能够处理请求。

Service Metadata  (服务元数据)

服务元数据是指包括服务端点、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据。

Service Provider (服务提供者)

是指提供可复用和可调用服务的应用方

Service Consumer (服务消费者)

是指会发起对某个服务调用的应用方

Configuration (配置)

在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成这个步骤。配置变更是调整系统运行时的行为的有效手段之一。

Configuration Management (配置管理)

在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。

逻辑架构:

组件的介绍可以在官网查看,有详细的介绍。

三、安装Nacos

  1. 环境准备

    Nacos对环境的要求:

    • 64bit OS,支持Linux、Unix、Mac、Windows,不推荐Windows

    • 64bit JDK 1.8+;

    • Maven 3.2x+;

  2. 下载源码或者安装包

//从Github下载源码git clone https://github.com/alibaba/nacos.gitcd nacos/mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U ls -al distribution/target/
// change the $version to your actual pathcd distribution/target/nacos-server-$version/nacos/bin
//下载压缩包的方式unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gzcd nacos/bin

  3. 启动服务器

Linux/Unix/Mac:

sh startip.sh -m standalone 

Windows:

cmd startup.cmd 或双击startup.cmd运行文件

  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'

服务发现:

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"
  1. 关闭服务器

Linux/Unix/Mac:

sh shutdown.sh

Windows;

cmd shutdown.cmd 或双击shutdown.cmd

项目中集成Nacos后续会写一个demo来讲解,这次的分享先了解一下Nacos。




以上是关于今天来学学Nacos的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin成了Google的亲儿子,现在赶紧来学学

为PDF文档添加页眉页脚的方法,快来学学

自建28核树莓派集群,顺便学学docker,这里有一个500美元的搭建方案

聊聊Nacos配置隔离和分类的使用

快来学学优雅的库之一tenacity!!!

也来学学插件式开发