【Spring Cloud Alibaba系列】Nacos 高可用部署

551 阅读1分钟

在分布式架构中,任何中间件或应用都不允许单体部署,因此开源组件都会支持高可用集群解决方案。而Nacos提供了类似于Zookeeper集群架构,包含一个Leader节点和多个Follower节点,两者区别是Nacos的数据一致性算法采用的是Raft。

image-20211003114719624

安装环境:
  • Linux系统

  • 64Bit JDK1.8以上

  • Maven 3.2.X以上

  • 3个或3个以上的Nacos节点

  • MySQL数据库

安装包:nacos-server-1.1.4.zip

解压后有5个文件夹,bin(服务启动/停止脚本)、conf(配置文件)、logs(日志)、data(数据库存储)、target(编译打包后文件)

集群配置

在conf目录下

  • application.properties: 配置文件

  • cluster.conf.example: 集群配置样例文件

  • nacos-mysql.sql:MySQL数据库脚本,Nacos支持Derby和MySQL两种持久化机制,默认采用Derby数据库,采用MySQL,需要运行数据脚本创建数据库及表

  • nacos-logback.xml:Nacos 日志配置文件

配置Nacos集群需要用到cluster.conf文件,添加配置信息如下:

10.0.100.1:8848
10.0.100.2:8848
10.0.100.3:8848

这3台机器中的cluster.conf配置保持的一致,由于这3台机器之间需要通信,在部署需要防火墙对外开放8848端口。

配置MySQL数据库

Derby数据库是一种文件类型的数据,使用时存在一定的局限性,如它无法支持多用户同时操作,在数据量大、连续数多下会产生大量连接的积压,可使用MySQL数据库

  • 执行nacos-mysql.sql 初始化数据库
  • 分别修改3台机器中${nacos_home}/conf下的application.properties文件,增加MySQl的配置
spring.datasource.platform=mysql
db.num=1
db.url=jdbc:mysql://10.0.100.1:3306/nacos_config
db.user=root
db.password=root