Nacos数据持久化:
Nacos默认采用的是apache derby内嵌数据库进行数据存储,在单机模式时可以使用nacos嵌入式数据库实现数据存储,但是derby数据库不方便观察数据存储的基本情况,从nacos 0.7版本开始支持mysql数据源能力;
具体步骤:
第一步:安装数据库,版本要求:5.6.5+;mysql下载地址和安装文档 第二步:初始化MySQL数据库,数据库初始化文件: nacos-mysql.sql,该文件可以在Nacos程序包下的 conf目录下获得;
第三步:修改 conf/application.properties文件,增加支持MySQL数据源配置,添加(目前只支持mysql)数据源的url、用户名和密码;
配置完成之后在Nacos后台添加的配置管理就会同步到mysql数据库当中:
Ncaos集群环境搭建部署:
具体配置步骤:
1、准备三个nacos,3个或3个以上Nacos节点才能构成集群;
2、在Nacos的conf目录下有一个cluster.conf.example,可以直接把example扩展名去掉来使用,也可以单独创建一个cluster.conf文件,然后在该文件中每行配置一个ip:port;
#阿里云私网IP+端口
172.17.16.69:8801
172.17.16.69:8802
172.17.16.69:8803
注意:由于自己当时配置Nacos集群的时候在cluster.conf当中配置的域名是阿里云公网IP然后启动集群的时候会加载自动加载私网IP导致集群出错,后续我把文件里面改成了私网IP配置,然后在项目里面注册地址和config配置都用公网IP就解决了这个问题。
cluster.conf文件之后还需有修改conf目录下application.properties访问端口的修改:
最后在/usr/local/nacos-01/bin目录使用命令启动Nacos并且查看日志是否启动:
./startup.sh && tail -f ../logs/nacos.log
完成上面所有配置之后,Nacos集群就搭建完毕,可使用自己配置的IP+端口进行访问Nacos集群,在在项目当中把自己的注册中心改为集群模式配置就完成了集群的搭建:
http://47.110.237.194:8801/nacos/
http://47.110.237.194:8801/nacos/
http://47.110.237.194:8801/nacos/
Nacos启动成功之后发现服务器内存不够宕机或者访问卡顿可以在startup.sh进行调整
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
配置Nginx代理我们的Nacos集群
配合Nginx代理我们的Nacos集群,配置里就直接写Nginx的IP和端口即可;
Nacos集群节点有三种角色状态:leader、follower、candidate;当leader宕机,会从剩下的follower中投票选举出一个新的leader,选举算法是基于Raft算法实现。
Linux服务器上安装nginx
配置/usr/local/nginx/conf/nginx.conf
upstream nacos{
server 47.110.237.194:8801;
server 47.110.237.194:8802;
server 47.110.237.194:8803;
}
server {
listen 80;
server_name localhost;
location /nacos {
proxy_pass http://nacos;
}
}
访问链接:http://47.110.237.194/nacos/ 就可以查看到nacos持久化的数据,
以上就是使用Nginx代理搭建Nacos集群!!!欢迎一起讨论交流 努力学习的小白。