频道首页
目录
15.Nacos集群
收藏
0
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数据库
SQL脚本地址:https://github.com/alibaba/nacos/blob/2.1.0/distribution/conf/nacos-mysql.sql
使用外置数据源
修改conf/application.properties的配置,使用外置数据源
添加节点配置
将conf/cluster.conf.example改为cluster.conf,添加节点配置
注意:不要使用localhost或127.0.0.1,针对多网卡环境,nacos可以指定网卡或ip
# 注意要包含当前节点的ip:port
192.168.65.174:8848
192.168.65.192:8848
192.168.65.204:8848
启动三节点
省略….
访问Nacos管理界面验证是否搭建成功
主页
会议室
文章
看板
讨论
AI文档