一、什么是Nacos?

英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。服务在nacos是一等公民

二、Nacos能干吗?

Nacos根据官网介绍致力于发现、配置和管理微服务。Nacos既能作为SpringCloud中的Erueka组件又能作为SpringCloud中的Config组件并且Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

三、Nacos关键特性

Nacos 支持基于 DNS 和基于 RPC 的服务发现。

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理
四、Nacos中的基本概念

服务:通过预定义接口网络访问的提供给客户端的软件功能。

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

命名空间:用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

服务注册中心:存储服务实例和服务负载均衡策略的数据库。

服务发现: 在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。

五、如何安装部署Nacos?

通过官方直接下载发布版本:https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz解压即可运行

这里通过源码编译形式进行安装,也可以直接在官网发布版本中找到适应的版本进行使用。

由于我这里访问github网络不行所以就直接在码云拉源码了。

git clone https://gitee.com/mirrors/Nacos.git

后面脚手架使用的全部版本是1.1.0版本所有我这里切换对应版本进行打包

#切换到1.1.0标签
git checkout 1.1.0
#进入Nacos目录,进行打包
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
#打包好后Nacos\distribution\target目录中会出现一个zip和tar
#nacos-server-1.1.0.tar.gz
#nacos-server-1.1.0.zip

我这里直接使用zip压缩包在windows环境下进行使用,解压后目录如下

bin 存放可执行脚本
conf 运行时的配置
plugins 插件
target 打包后的jar包

windows环境下运行bin目录下的startup.cmd即可,等待启动完成后访问:http://localhost:8848/nacos

如果使用Linux系统运行则sh startup.sh -m standalone代表着单机模式运行。

默认登陆账号与密码为:nacos\nacos登陆后页面展示如下

配置管理则是我们在程序中使用的配置如SpringBoot读取的properties都可以存放在这里。

服务管理根据名字就清楚是对注册到Nacos上的服务进行管理的功能啦。

集群管理则指是Nacos集群而不是应用程序集群。

命名空间是此做多环境以及多租户(多个用户共同使用nacos)数据(配置和服务)隔离的,相当于SpringBoot 配置文件中的spring.profiles。

六、Nacos数据持久化

当我们使用默认配置启动Nacos时,所有配置文件都被Nacos保存在了内置的数据库中。

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力;如果使用内嵌数据库,注定会有存储上限,且无法移植。

在Nacos的conf目录下nacos-mysql.sql创建一个数据库运行脚本,然后在application.properties增加以下配置:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

然后创建的配置会持久化到配置的数据库中。

Nacos注册中心/配置中心二合一我觉得非常好用,比起SpringCloud 需要Eureka于Config两个服务。不过二合一也并非优点,打个简单的比方在不需要配置中心的情况下Nacos的配置管理就显得多余了。

SpringCloud Alibaba Nacos 服务治理中心的更多相关文章

  1. SpringCloud Alibaba Nacos 服务注册

    业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...

  2. SpringCloud Alibaba Nacos服务注册与配置管理

    Nacos SpringCloud Alibaba Nacos是一个狗抑郁构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos:Dynamic Naming and Configurat ...

  3. Nacos笔记01——使用Nacos作为SpringCloud项目的服务注册中心

    前言 刚学SpringCloud时使用eureka作为服务注册中心,随着网飞公司eureka2.x不再更新,以及最近在公司实习接触到的SpringCloud项目是使用Nacos来做服务注册中心的,所以 ...

  4. Spring Cloud Alibaba | Nacos服务注册与发现

    目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...

  5. SpringCloud使用Nacos服务发现实现远程调用

    本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...

  6. 微服务实战系列(四)-注册中心springcloud alibaba nacos

    1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...

  7. 快速搭建 SpringCloud Alibaba Nacos 配置中心!

    Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录.而 Nacos 作为 Spring Cloud Alibaba 的核心 ...

  8. SpringCloud之Nacos服务发现(十七)

    一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...

  9. SpringCloud实战 | 第三篇:SpringCloud整合Nacos实现配置中心

    前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus ...

随机推荐

  1. go项目dockerfile最佳实践

    1. 前言 2. 不需要cgo情况下的最佳实践 3. 依赖cgo情况下的最佳实践 1. 前言 这几天在构建golang编写的web项目中,关于dockerfile编写的一些总结 可能是单纯我比较菜(大 ...

  2. Python 访问字符串中的值

    Python 访问字符串中的值 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用.高佣联盟 www.cgewang.com Python 访问子字符串,可以使用方括号来 ...

  3. PHP popen() 函数

    定义和用法 popen() 函数使用 command 参数打开进程文件指针. 如果出错,该函数返回 FALSE. 语法 popen(command,mode) 参数 描述 command 必需.规定要 ...

  4. PHP ftp_systype() 函数

    定义和用法 ftp_systype() 函数返回 FTP 服务器的系统类型标识符. 如果成功,该函数返回系统类型.如果失败,则返回 FALSE. 语法 ftp_systype(ftp_connecti ...

  5. ARC 093 F Dark Horse 容斥 状压dp 组合计数

    LINK:Dark Horse 首先考虑1所在位置. 假设1所在位置在1号点 对于此时剩下的其他点的方案来说. 把1移到另外一个点 对于刚才的所有方案来说 相对位置不变是另外的方案. 可以得到 1在任 ...

  6. charles抓取HTTPS设置,详细踩坑版

    写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题,所以把自己的安装经 ...

  7. 在新的线程中使用session 出现的问题

    Exception in thread "Thread-15" java.lang.IllegalStateException: No thread-bound request f ...

  8. 【JZOJ4725】质数序列 题解(数学)

    题目大意:质数序列是指这个序列中任意两个数的和均为质数.先给出一个序列${a_{n}}$,从中取出元素构成最长质数序列,问其长度并输出序列.若长度相同则求和最大的序列.保证答案唯一. -------- ...

  9. docker安装gitlab并部署CICD

    摘要 本文主要实现了在docker下安装gitlab,将gitlab绑定在宿主机的180端口,将gitlab的clone的URL添加指定端口号:部署了CI/CD,并公布了测试项目. 安装docker[ ...

  10. data argumentation 数据增强汇总

    几何变换 flip:水平翻转,也叫镜像:垂直翻转 rotation:图片旋转一定的角度,这个可以通过opencv来操作,各个框架也有自己的算子 crop:随机裁剪,比如说,在ImageNet中可以将输 ...