一、下载安装
进入官网,下载zip包,这里演示windows下的运行及启动
二、启动
进入bin目录,输入cmd,回车,然后执行命令startup.smd 命令进行启动。
启动成功后,在页面输入localhost:8848/nacos ,登录名和密码都是nacos
注意:这里可能会报错,下面是解决办法
错误1:db.num is null
解决方法:在本地mysql创建一个名为 nacos的数据库,然后执行 conf文件下的 nacos-mysql.sql文件。
修改application.properties文件,主要修改用户名和密码
错误2:Unable to start embedded Tomcat
解决方法:修改bin目录下startup.cmd文件,改为单机版启动
三、引入依赖
四、服务注册与发现
1.配置bootstrap.yml文件
server:
port: 3377
spring:
application:
# 服务名
name: nacos-config-client
cloud:
nacos:
discovery:
#nacos地址
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yml
2.配置application.yml文件
spring:
profiles:
active: dev
3.在nacos创建配置文件
命名规范:$ {prefix}-$ {spring.profiles.active}.${file-extension}
例:下面这个就会去nacos找名为 nacos-config-client-dev.yml 的配置文件
在nacos控制台,localhost:8848/nacos,创建配置文件
上面使用的是默认的命名规范来找配置文件的,也可以指定查找,方法如下
1.可以设置分组名,设置后,就会在该分组下查找默认命名规范的配置文件,不设置分组名就会去默认分组(DEFAULT_GROUP)下查找
2.可以设置namespace
默认是只有一个public命名空间的,也可以自己新增,每个命名空间都有自己唯一的ID,在yml中配置该ID即可指定是哪个命名空间下的。
// A code block
var foo = 'bar';
4.启动
启动后可观察控制台信息
Nacos集群和持久化配置
Nacos支持三种部署模式
1.单机模式
2.集群模式 - 用于生产环境,确保高可用
3.多集群模式 - 用于多数据中心场景
1.单机模式
上面演示的就是单机模式,不再概述
2.集群模式
注意:上面我们自己配了mysql数据源,如果不配置的话,nacos会使用内嵌的derby数据库来存储信息的
集群模式搭建
1 下载tar包
https://github.com/alibaba/nacos/releases/tag/1.1.4
2 在linux上解压并安装Nacos
cd /opt
tar -zxvf tar包
解压后有一个nacos文件夹
这里我copy到一个文件夹中进行操做
cp -r nacos /mynacos/nacos1
3.下载并安装mysql
这里就引用别人的博客了
链接: 安装及步骤地址.
注意:该博客中到下面一步可能会报错,下面这个博客是解决办法
链接: 报错解决地址.
4.执行nacos/conf下的nacos-mysql.sql 脚本文件到mysql下的nacos_config数据库里
执行后可看到库里有这些表:
5.修改nacos/conf/ applicaytion.properties文件
在修改前一般都要保存一份原始的
cd /mynacos/nacos1/conf
cp application.properties application.properties.bk
vi application.properties
在该文件里面添加下面这些信息
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true
&useSSL=false&serverTimezone=UTCdb.user.0=root
db.password.0=123456
6.配置集群配置文件
conf目录下自带这一个文件cluster.conf.example ,这个就是用来做集群配置用的
我们copy一份进行操作,自带的文件保留
cp cluster.conf.example cluster.conf
这里面主要配置nacos集群的ip及端口,这里的ip不能写127.0.0.1必须是linux命令能识别的ip
可以用这个命令查看 hostname -i
执行命令并填入下面这些值,vi cluster.conf
7.修改配置集群命令启动
修改这个文件是为了能够用 startup.sh -p 3333 startup.sh -p 4444 startup.sh -p 5555 这种形式启动
进入bin目录,老规矩保存原来的文件
copy startup.sh startup.sh.bk
修改下图标出来的内容 vi startup.sh
看不清的话内容如下
8.启动,及查看是否启动成功
注意:需要配有java环境
./startup.sh -p 3333
./startup.sh -p 4444
./startup.sh -p 5555
检查是否启动成功可以去 log/start.out 日志进行查看
tail -f /logs/start.out
启动成功:
这里可能会报错,下面是报错及解决方法
1.运行内存不足
解决方法:修改jvm参数
vi /bin/start.sh
修改前:
修改后:
:wq 退出保存
然后重新启动
9.进入控制台进行查看
ip是你自己虚拟机的ip,查看是 hostname -i
ip:3333/nacos
用户名和密码都是 nacos
到这里集群的配置就完成了!但是!你的项目的配置文件怎么去指呢?指到3333?4444?5555?不行!这样还是相当于是单机版,所以这里就要通过nginx去进行转发,从而达到负载均衡的效果
来整起!
一、配置nginx转发
1.安装nginx
具体安装参考其他博客啊,这里就不写了
2.修改nginx.conf文件
这里主要是配置转发,配置如下,增加如下内容:
3.启动nginx
./ nginx
4.浏览器输入 ip:80 检查nginx是否正常启动
二、项目中配置nacos地址
注意:这里配的地址就是nginx里配置的地址ip:1111
修改上面windows时候讲的项目里的配置进行测试:
三、启动项目观察结果
访问ip:1111/nacos ,可以看到服务成功的注册进来了!
到这里就学完啦!还有一些概念我就放到最下面了,面试会用到哦~
概念篇:
1.Nacos由三个值来定位,NameSpece,Group, DataId
2.Nacos支持AP和CP模式的切换
3.在项目初始化的时候,要保住先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动,因此要写在bootstrap.yml文件中。
springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于application
4.心跳机制:在微服务框架中,我们利用注册中心统一对各个服务进行管理,这时,就需要知道各个服务的健康状态,也就是各个服务定时发送一个自定义的结构体(心跳包)到注册中心,让对方知道自己还活着,以确保连接的有效性的机制。