目录
- Nacos集群架构说明
- Nacos支持三种部署模式
- 集群部署说明
- 预备环境
- Nacos持久化切换配置
- Nacos持久化配置
- Nacos默认derby切换MySql
- 测试
Nacos集群架构说明
到目前为止,我们已经对Nacos的一些基本使用和配置已经掌握,但是这些还不够,我们还需要了解一个非常重要的点,就是Nacos的集群相关的操作,那我们就先从Nacos集群配置的概念说起
Nacos支持三种部署模式
- 单机模式 - 用于测试和单机试用
- 集群模式 - 用于生产环境,确保高可用
- 多集群模式 - 用于多数据中心场景
集群部署说明
参考网站:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
架构图:部署生产使用的集群模式
具体拆分
预备环境
默认Nacos使用嵌入式数据库实现数据的存储,所以,如果启动多个默认配置下的Nacos节点,数据储存存在一致性问题,为了解决这个问题,Nacos采用了集中存储方式来支持集群化部署,目前仅支持MySql的存储。
- 推荐使用Linux
- 可以使用内部数据源或者外部数据源(推荐使用外部)MySql
以使用内部数据源或者外部数据源(推荐使用外部)MySql
Nacos持久化切换配置
Nacos持久化配置
Nacos默认自带嵌入式数据库derby,所以我们每次创建一个Nacos实例就会有一个derby,当有多个Nacos节点的时候,就会出现一致性问题,所以Nacos支持了外部数据库统一数据管理MySql。
Nacos默认derby切换MySql
具体配置方式可以参考官网:https://nacos.io/zh-cn/docs/deployment.html
-
我们需要找到Nacos安装目录下的conf目录中的Sql脚本,然后在数据库中进行执行
注意:需要我们先创建好数据库并且使用:
CREATE DATABASE nacos_config; USE nacos_config;
- 修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
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&serverTimezone=UTC
db.user=root
db.password=root
这里表示更改Nacos数据库为本机MySql数据库
注意:这里需要注意几个点,一个是url地址需要改,另外数据库的用户和密码也需要更改,同时还有一个是官网上在db.url.0=jdbc:mysql这个属性上少了一个属性为serverTimezone=UTC需要我们手动添加
测试
重启Nacos服务,此时之前所创建的Namespace+Group+DataID将全部消失,因为这些数据是保存在之前Nacos内嵌的derby数据库中,现在使用的是本地的MySql数据库,此时我们可以添加配置测试,在查看数据库nacos_config中的config_info表,此时就会有新添加的配置内容