SpringCloud Alibaba Nacos 服务治理中心
一、什么是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 服务治理中心的更多相关文章
- SpringCloud Alibaba Nacos 服务注册
业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...
- SpringCloud Alibaba Nacos服务注册与配置管理
Nacos SpringCloud Alibaba Nacos是一个狗抑郁构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos:Dynamic Naming and Configurat ...
- Nacos笔记01——使用Nacos作为SpringCloud项目的服务注册中心
前言 刚学SpringCloud时使用eureka作为服务注册中心,随着网飞公司eureka2.x不再更新,以及最近在公司实习接触到的SpringCloud项目是使用Nacos来做服务注册中心的,所以 ...
- Spring Cloud Alibaba | Nacos服务注册与发现
目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...
- SpringCloud使用Nacos服务发现实现远程调用
本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...
- 微服务实战系列(四)-注册中心springcloud alibaba nacos
1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...
- 快速搭建 SpringCloud Alibaba Nacos 配置中心!
Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录.而 Nacos 作为 Spring Cloud Alibaba 的核心 ...
- SpringCloud之Nacos服务发现(十七)
一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...
- SpringCloud实战 | 第三篇:SpringCloud整合Nacos实现配置中心
前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus ...
随机推荐
- go项目dockerfile最佳实践
1. 前言 2. 不需要cgo情况下的最佳实践 3. 依赖cgo情况下的最佳实践 1. 前言 这几天在构建golang编写的web项目中,关于dockerfile编写的一些总结 可能是单纯我比较菜(大 ...
- Python 访问字符串中的值
Python 访问字符串中的值 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用.高佣联盟 www.cgewang.com Python 访问子字符串,可以使用方括号来 ...
- PHP popen() 函数
定义和用法 popen() 函数使用 command 参数打开进程文件指针. 如果出错,该函数返回 FALSE. 语法 popen(command,mode) 参数 描述 command 必需.规定要 ...
- PHP ftp_systype() 函数
定义和用法 ftp_systype() 函数返回 FTP 服务器的系统类型标识符. 如果成功,该函数返回系统类型.如果失败,则返回 FALSE. 语法 ftp_systype(ftp_connecti ...
- ARC 093 F Dark Horse 容斥 状压dp 组合计数
LINK:Dark Horse 首先考虑1所在位置. 假设1所在位置在1号点 对于此时剩下的其他点的方案来说. 把1移到另外一个点 对于刚才的所有方案来说 相对位置不变是另外的方案. 可以得到 1在任 ...
- charles抓取HTTPS设置,详细踩坑版
写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题,所以把自己的安装经 ...
- 在新的线程中使用session 出现的问题
Exception in thread "Thread-15" java.lang.IllegalStateException: No thread-bound request f ...
- 【JZOJ4725】质数序列 题解(数学)
题目大意:质数序列是指这个序列中任意两个数的和均为质数.先给出一个序列${a_{n}}$,从中取出元素构成最长质数序列,问其长度并输出序列.若长度相同则求和最大的序列.保证答案唯一. -------- ...
- docker安装gitlab并部署CICD
摘要 本文主要实现了在docker下安装gitlab,将gitlab绑定在宿主机的180端口,将gitlab的clone的URL添加指定端口号:部署了CI/CD,并公布了测试项目. 安装docker[ ...
- data argumentation 数据增强汇总
几何变换 flip:水平翻转,也叫镜像:垂直翻转 rotation:图片旋转一定的角度,这个可以通过opencv来操作,各个框架也有自己的算子 crop:随机裁剪,比如说,在ImageNet中可以将输 ...