一,Nacos的持久化切换配置
在0.7版本之前,单机模式下Nacos使用嵌入式数据库Derby存储,不方便观察存储的基本情况,在0.7版本之后Nacos支持mysql数据源能力,可以将数据保存到mysql
切换数据库的步骤:
- 在Linux中安装Mysql,版本要求5.6.5+(安装省略)
- 初始化mysql数据库,数据库初始化文件:nacos-mysql.sql(文件在nacos/conf目录下)
- 修改conf/application.properties文件,增加支持mysql数据源的配置(目前只支持mysql)
1,初始化数据库(将nacos-mysql.sql脚本导入mysql)
执行sql脚本的方式:
- 未连接数据库:mysql -uroot -p123456789 < sql脚本路径
- 已连接数据库:source sql脚本路径
- 通过Navicat工具连接mysql将sql导入
使用source方式:这种方式需要新建一个数据库,不能直接导入
mysql -uroot -p123456 #连接数据库 create database nacos_config; use nacos_config; source /home/nacos/conf/nacos-mysql.sql
导入后查看tables:
2,配置Nacos连接mysql的配置
修改conf/application.properties文件:添加如下配置
spring.datasource.platform=mysql db.num=1 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=UTC db.user=root db.password=123456789
测试是否成功切换:在nacos服务端新建一个wql用户,看mysql是否存在
二,集群的搭建
一,Nacos集群概述
Nacos的集群模式图:
Nacos集群和Eureka集群有很大的区别:
- Eureka集群是相互绑定的,节点和其他节点之间都要心跳检测,假如节点数多相互绑定,性能低
- Nacos集群依赖于其他软件进行负载均衡,如:Nginx,HaProxy等,节点之间无需相互绑定,假如节点服务故障,可用通过Nginx负载到其他机器
二,Nacos集群的搭建
搭建前期准备:三台虚拟机
- 一个Nginx(不使用keeplive搭建Nginx高可用)
- 三台Nacos
- 一个Mysql数据库(不使用集群)
192.168.68.152
|
Nacos1
|
无
|
192.168.68.153
|
Nacos2
|
无
|
192.168.68.134
|
Nacos3
|
Mysql+Nginx
|
一,集群搭建
三台虚拟操作是一样的
① 上传nacos安装包
② 解压
tar -zxvf nacos-server-2.0.3.tar.gz
③ 配置Mysql源
spring.datasource.platform=mysql db.num=1 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=UTC db.user=root db.password=123456789
④ 配置cluster.conf集群文件
192.168.68.134:8848 192.168.68.152:8848 192.168.68.153:8848
启动三台集群的服务并查看控制台:
二,配置Nginx
Nginx的安装省略(具体可以看本站博客Nginx,有详细操作)
nginx.conf:以下内容添加在Http块中
upstream cloust{ #负载均衡 server 192.168.68.134:8848; server 192.168.68.152:8848; server 192.168.68.153:8848; } server{ listen 8084; #监听的端口 server_name localhost; location / { proxy_pass http://cloust; #反向代理 } }
测试:
Comments | NOTHING
Warning: Undefined variable $return_smiles in /www/wwwroot/wql_luoqin_ltd/wp-content/themes/Sakura/functions.php on line 1109