真是项目中,不可能只有一个注册中心,所以要考虑到集群
这时候要考虑到nacos是内嵌式数据库derby,所以要做集群 ,就会有数据一致性的问题。为了解决这个问题,数据库就要用第三方数据库统一管理,而nacos只支持5.6.5+的mysql数据库
window上derby到mysql切换配置步骤
nacos-server-1.1.4\nacos\conf目录下找到sql脚本
nacos-server-1.1.4\nacos\conf目录下找到application.properties
启动nacos,可以看到是个全新的空记录界面,以前是记录进derby数据库
接下来将linux版本
先安装mysql5.7,我是安装在docker里的。
docker pull mysql:5.7
然后启动
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
把nacos的config里的sql文件复制到docker容器
docker cp 本地文件路径 ID全称:容器路径[docker cp mysql.sql XXXX:/tmp/]
进入容器
docker exec -it mysql-test bash
mysql -u root -p 进入mysql服务
show databases;查看数据库;
use database 创建并进入数据库
执行.sql文件
source /tmp/XXXX.sql
最后即可
mysql 授权远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
3.Linux服务器上nacos的集群配置cluster.conf
这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的IP
4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端
/mynacos/nacos/bin目录下有startup.sh
启动方式
3个集群
5.Nginx的配置,由它作为负载均衡器
6.截止到此处,1个Nginx+3个nacos注册中心+1个mysql,测试通过nginx访问nacos
https://写你自己虚拟机的ip:1111/nacos/#/login
微服务cloudalibaba-provider-payment9002启动注册进nacos集群
server-addr: 写你自己的虚拟机ip:1111