英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。服务在nacos是一等公民mysql
Nacos根据官网介绍致力于发现、配置和管理微服务。Nacos既能做为SpringCloud中的Erueka组件又能做为SpringCloud中的Config组件而且Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。git
Nacos 支持基于 DNS 和基于 RPC 的服务发现。github
服务:经过预约义接口网络访问的提供给客户端的软件功能。spring
配置:在系统开发过程当中,开发者一般会将一些须要变动的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理通常包含在系统部署的过程当中,由系统管理员或者运维人员完成。配置变动是调整系统运行时的行为的有效手段。sql
命名空间:用于进行租户粒度的配置隔离。不一样的命名空间下,能够存在相同的 Group 或 Data ID 的配置。Namespace 的经常使用场景之一是不一样环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。shell
服务注册中心:存储服务实例和服务负载均衡策略的数据库。数据库
服务发现: 在计算机网络上,(一般使用服务名)对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。windows
经过官方直接下载发布版本:https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz解压便可运行
网络
这里经过源码编译形式进行安装,也能够直接在官网发布版本中找到适应的版本进行使用。app
因为我这里访问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保存在了内置的数据库中。
在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的配置管理就显得多余了。