Nacos的数据持久化

前言

我们已经了解Nacos作为注册中心和配置中心,下面来了解下生产部署的角度Nacos都需要怎么配置。

数据持久化

Nacos服务端自身并没有做过什么特殊的配置,关于默认的单机配置的Nacos只适用于测试和开发环境,那么对于高可用的生产环境,Nacos需要做什么配置?
搭建Nacos集群之前,我们需要修改Nacos的数据持久化配置为MySQL存储,默认情况下Nacos使用嵌入式数据库实现数据的存储。如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只要支持MySQL的存储。
配置Nacos的MySQL存储只需要下面三步:
第一步:安装数据库,版本要求:5.6.5+
第二步:初始化MySQL数据库,数据库初始化文件:nacos-mysql.sql,该文件可以在Nacos程序包下的conf目录下获得。执行完成后可以得到如下图所示的表结构:
Nacos表第三步:修改conf/application.properties文件,增加支持MySQL数据源配置,添加(目前只支持mysql)数据源的url、用户名和密码。配置样例如下:

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=

NACOS的配置已完成,重新部署单机模式启动Nacos,我们操作Nacos查询mysql中的表可以查询到操作记录已经记录到数据库中。

思考

由于引用了mysql,多了一个中间件那么就要考虑NACOS引用对整个系统性能的影响,Mysql同时也需要部署集群,成本提高。
一致性问题? 与etcd、consul、zookeeper等通过算法方式解决一致性问题的中间件相比的优点与不足?

参考资料

Nacos文档

发布了8 篇原创文章 · 获赞 0 · 访问量 45

猜你喜欢

转载自blog.csdn.net/weixin_41213402/article/details/105415442