Nacos系列:欢迎来到Nacos的世界!
什么是Nacos?
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
Nacos可以做什么?
1、动态配置服务:支持以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
2、服务发现及管理:支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现,同时提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,可以更容易地为服务实现断路器。
3、动态DNS服务:通过支持权重路由,轻松实现中间层负载均衡、更灵活的路由策略、流量控制及简单数据中心内网的简单DNS解析服务。更加容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。
Nacos的特性一览
1、易于使用
动态配置管理、服务发现和动态的一站式解决方案
20多种开箱即用的以服务为中心的架构特性
基本符合生产要求的轻量级易用控制台
2、更适应云架构
无缝支持Kubernetes和Spring Cloud
在主流公共云上更容易部署和运行(例如阿里云和AWS)
多租户和多环境支持
3、生产等级
脱胎于历经阿里巴巴10年生产验证的内部产品
支持具有数百万服务的大规模场景
具备企业级SLA的开源产品
4、丰富的应用场景
支持限流、大促销预案和异地多活
直接支持或稍作扩展即可支持大量有用的互联网应用场景
流量调度和服务治理
Nacos架构
Nacos概念
- 地域(Region):物理的数据中心,资源创建成功后不能更换
- 可用区(Available Zone):同一地域内,电力和网络互相独立的物理区域。同一可用区内,实例的网络延迟较低。
- 接入点(Endpoint):地域的某个服务的入口域名
- 命名空间(Namespace):用于进行租户粒度隔离。不同的命名空间下,可以存在相同的Group或Data ID的配置。
- 配置(Configuration):从代码中分离出来独立管理的变量、需要变更的参数等
- 配置管理(Configuration Management):系统配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动。
- 配置项(Configuration Item):一个具体的可配置的参数与其值域,通常以 param-key=param-value 的形式存在。
- 配置集(Configuration Set):一组相关或者不相关的配置项的集合。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。
- 配置集ID(Data ID):某个配置集的ID,是组织划分配置的维度之一,通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识,通常采用类 Java包的命名规则保证全局唯一性(此命名规则非强制)。
- 配置分组(Group):一组配置集,是组织配置的维度之一,通过一个有意义的字符串对配置集进行分组,从而区分 Data ID 相同的配置集。创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用DEFAULT_GROUP。
- 配置快照(Configuration Snapshot):Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使用配置快照显示系统的整体容灾能力。
- 服务(Service):通过预定义接口网络访问的提供给客户端的软件功能。
- 服务名(Service Name):服务提供的标识,通过该标识可以唯一确定其指代的服务。
- 服务注册中心(Service Registry):存储服务实例和服务负载均衡策略的数据库。
- 服务元数据(Service Metadata):服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据
- 服务提供方(Service Provider):是指提供可复用和可调用服务的应用方
- 服务消费方(Service Consumer):是指会发起对某个服务调用的应用方
- 服务发现(Service Discovery):在计算机网络上,对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。
- 服务分组(Service Group):不同的服务可以归类到同一分组。
- 名字服务(Naming Service):提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务
- 配置服务(Configuration Service):在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。
- 元数据(Metadata):Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。
- 应用(Application):用于标识服务提供方的服务的属性。
- 虚拟集群(Virtual Cluster):同一个服务下的所有服务实例组成一个默认集群,集群可以被进一步按需划分,划分的单位可以是虚拟集群。
- 实例(Instance):提供一个或多个服务的具有可访问网络地址(IP:Port)的进程。
- 权重(Weight):实例级别的配置,权重为浮点数,权重越大,分配给该实例的流量越大。
- 健康检查(Health Check):以指定方式检查服务下挂载的实例的健康度,从而确认该实例是否能够提供服务。根据检查结果,实例会被判断是否健康,对服务发起解析请求时,不健康的实例不会返回给客户端。
- 健康保护阈值(Protect Threshold):为防止因过多实例不健康导致流量全部流向健康的实例,继而造成流量压力把健康的实例压垮并形成雪崩效应,应将健康保护阈值定义未一个0~1之间的浮点数,当域名健康实例占总服务实例的比例小于该值时,无论实例是否健康,都会将这个实例返回给客户端,这样做虽然损失了一部分流量,但是保证了集群的剩余健康实例能够正常工作。
以上内容整理源自:Nacos官网
梳理好Nacos
的架构及概念,接下来准备Nacos的环境,Nacos的环境安装非常简单,首先从 GitHub 上 checkout 源码,编译获取安装包,命令如下:
mvn -Prelease-nacos clean install -U
编译完成后
因为我使用的是Windows,所以取target下的nacos-server-0.8.0.zip
包(当然也可以从Github上直接下载安装包),将其解压到任意目录下
注意:所解压目录的文件路径不能包含空格,例如:D:/Program Files/Nacos,否则在启动Nacos Server时,会提示错误:找不到或无法加载主类 Files/Nacos/bin/Files/Nacos/plugins/cmdb
解压后,进入bin目录,双击startup.cmd
,此时,Nacos Server就开始启动了
在启动界面中,可以看到Nacos的版本、运行模式、端口号、进程号、Console等信息,其中Console:http://192.168.1.102:8848/nacos/index.html
的地址就是Nacos的控制台,可以直接在浏览器访问:
Nacos控制台的默认账号密码为:nacos/nacos
登录后可以看到如下界面,在控制台可以进行配置和服务的管理
怎么样,是不是感觉很简单?
好了,Nacos就先介绍到这里,下一期将以一个完整的案例来介绍Nacos的用法和特性。
参考资料
Nacos系列:欢迎来到Nacos的世界!的更多相关文章
- Nacos系列:基于Nacos的配置中心
前言 在看正文之前,我想请你回顾一下自己待过的公司都是怎么管理配置的,我想应该会有以下几种方式: 1.硬编码 没有什么配置不配置的,直接写在代码里面,比如使用常量类 优势:对开发友好,开发清楚地知道代 ...
- Nacos系列:基于Nacos的注册中心
前言 所谓注册中心,其实是分布式架构演进过程中的产物,在系统中充当一个协调者的角色.但是,为什么需要这样一个协调者的角色呢?我们先来看一个例子,以便理解为什么分布式架构中需要有注册中心. 案例 小明和 ...
- Nacos系列(一):Nacos环境安装及Hello World示例
现在微服务架构越来越火,微服务架构中比较重要的一项就是配置中心, Nacos是阿里巴巴的一个开源项目,它的其中一个功能就是可以作为配置中心,实现配置的动态变更.历史版本对比.配置回滚等功能. 更多的描 ...
- Nacos系列:Nacos的三种部署模式
三种部署模式 Nacos支持三种部署模式 1.单机模式:可用于测试和单机使用,生产环境切忌使用单机模式(满足不了高可用) 2.集群模式:可用于生产环境,确保高可用 3.多集群模式:可用于多数据中心场景 ...
- Nacos系列:Nacos的Java SDK使用
Maven依赖 Nacos提供完整的Java SDK,便于配置管理和服务发现及管理,以 Nacos-0.8.0 版本为例 添加Maven依赖: <dependency> <group ...
- Spring Cloud 系列之 Alibaba Nacos 注册中心(一)
前言 从本章节开始,我们学习 Spring Cloud Alibaba 相关微服务组件. Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 致力于提供微服务开发 ...
- Spring Cloud 系列之 Alibaba Nacos 注册中心(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Alibaba Nacos 注册中心(一) 本篇文章讲解 Nacos 注册中心集群环境搭建. Nacos 集群环境搭建 ...
- Spring Cloud 系列之 Alibaba Nacos 配置中心
Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...
- 保姆教程系列二、Nacos实现注册中心
前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到 保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+ (Linux ce ...
随机推荐
- vscode 添加 includePath
使用vscode打开C项目时,vscode无法找到头文件路径,提示:configure includePath for better intellisense results 解决: 编辑~/.vsc ...
- 了解ip相关知识
最近一直扫盲,作为一个编程工作者,其实涉及的东西很广,但也一直没有深入一些网络的概念. 内内网IP局域网,网线都是连接在同一个 交换机上面的,也就是说它们的IP地址是由交换机或者路由器进行分配的.而且 ...
- Exp4 恶意代码分析 20154320 李超
恶意代码 概述 恶意代码是指故意编制或设置的.对网络或系统会产生威胁或潜在威胁的计算机代码.最常见的恶意代码有计算机病毒(简称病毒).特洛伊木马(简称木马).计算机蠕虫(简称蠕虫).后门.逻辑炸弹等. ...
- Exp2 后门原理与实践 20154320 李超
目录- 基础问题回答- 基础知识- 实验过程- 实验心得体会 基础知识问答 1. 例举你能想到的一个后门进入到你系统中的可能方式?从不安全的网站上下载的程序可能存在后门. 2. 例举你知道的后门如何启 ...
- jQuery的基本选择器
<script type="text/javascript"> //演示jQuery的基本选择器 $(function () { //通过ID var obj1 = $ ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- python网络爬虫开发实战(崔庆才)_14页_chromedriver环境配置和加载
自己1,环境配置,我下载了相对应的Chromedriver(其实我也不知道对不对应,都是下载最新版的我猜应该会对应),然后在任何文件夹下输入command+shift+G,打开输入窗口,任何输入 / ...
- ORACLE提交事务回滚
execute执行后 可以回滚 commit提交后 闪回恢复原来的数据 其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交.对应的PL\SQL也是要先点execu ...
- Vipe框架构思记
准备着手写一个JAVA框架,基于公司目前的框架提取出来.当然公司现在的框架也是我搭建的.在这整理一下思路. 框架名称:Vipe AOP,IOC容器:Spring MVC:Spring MVC ORM: ...
- Windows 10 IoT Serials 10 – 如何使用OCR引擎进行文字识别
1. 引言 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方 ...