视频链接:2020最新版SpringCloud框架开发教程-周阳
文章源码:https://github.com/geyiwei-suzhou/cloud2020/
持久化
Nacos 默认自带的是嵌入式数据库是 derby
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
</dependency>
所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的
为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储
nacos-server-1.4.0/conf目录下
找到sql脚本:nacos-mysql.sql,新建nacos_config数据库,导入脚本
找到配置文件:application.properties,在结尾添加如下内容
######################## Mysql Data Source ##########################
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
db.user=root
db.password=123456
重启nacos
sh shutdown.sh # mac
sh startup.sh -m standalone # mac
访问:http://localhost:8848/nacos 发现之前的配置已经丢失,现在使用新配置的持久化mysql数据库存储配置
接着新建一个nacos-config-client-dev.yaml配置
然后会发现数据库中config_info表新增了一条记录
集群部署
VIP(Virtual IP)
Nacos支持三种部署方式
- 单机模式:用于测试和单机试用
- 集群模式:用于生产环境,确保高可用
- 多集群模式:用于多数据中心场景
nacos-server-1.4.0/conf目录下
新建cluster.conf,添加如下内容:
ip1:port1
ip2:port2
ip3:port3
ps
:nacos-server-1.4.0版本已经支持运行时指定port参数,无需修改startup脚本
使用如下
三台nacos服务启动完成后,使用nginx配置负载均衡
修改cloudalibaba-provider-payment9001模块的配置文件
将server-addr值改为nginx地址即可