Nacos集群
1.Nacos运行(部署)模式
-
standalone:此模式一般用于 demo 和测试
-
cluster:集群模式
-
多集群模式:用于多数据中心场景
2.Nacos的分布式一致性
介绍
Naco1实现了CAP原则中的CP原则与AP原则,而在实现 Nacos集群数据一致性(CAP)的处理上,主要采用了Distro(阿里私有协议)以及RAFT(分布式共识)两种算法实现,其中Distro算法提供了AP支持,而RAFT算法提供了CP支持
Nacos可以实现CP或AP的自由切换
切换方式
http://localhost:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP
3.Nacos Server信息存储
-
默认Nacos使用的是内嵌数据库来存储数据,Nacos也支持使用MySQL作为存储,内嵌数据库叫做Derby(数据持久化到磁盘上不是内存)
-
standalone的话默认会使用Derby,Derby 是 Java 编写的数据库,属于 Apache 的一个开源项目
-
cluster 模式会自动使用 MySQL,这时候如果没有 MySQL 的配置,是会报错的
4.推荐的集群部署结构
推荐用户把所有Nacos节点放到一个代理下面,然后挂到一个域名下面
5.端口情况
Nacos2.x版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成
6.代理转发问题
使用VIP/nginx请求时,需要配置成TCP转发,不能配置http2转发,否则连接会被nginx断开。 9849和7848端口为服务端之间的通信端口,请勿暴露到外部网络环境和客户端测
7.集群部署方式总览
-
Windows部署
-
Centos7部署
-
Docker-Compose部署
-
K8S部署
8.环境准备
-
安装好 JDK,需要 1.8 及其以上版本
-
建议: 2核 CPU / 4G 内存 及其以上
-
建议: 生产环境 3 个节点 及其以上
9.Windows部署
部署目标
3节点的Nacos集群
步骤
-
修改配置:使用外置数据源
-
修改配置:添加节点配置
-
在MySQL中创建Nacos数据库
-
分别启动三个节点上的nacos
-
验证是否搭建成功
根据内存情况适当调整JVM参数
MySQL中创建Nacos数据库
/** Copyright