目录
频道首页
15.Nacos集群
收藏
0
sgy123 最近修改于 2023-09-18 21:32:54

Nacos集群

1.Nacos运行(部署)模式

  1. standalone:此模式一般用于 demo 和测试
  2. cluster:集群模式
  3. 多集群模式:用于多数据中心场景

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

image.png

3.Nacos Server信息存储

  • 默认Nacos使用的是内嵌数据库来存储数据,Nacos也支持使用MySQL作为存储,内嵌数据库叫做Derby(数据持久化到磁盘上不是内存)
  • standalone的话默认会使用Derby,Derby 是 Java 编写的数据库,属于 Apache 的一个开源项目
  • cluster 模式会自动使用 MySQL,这时候如果没有 MySQL 的配置,是会报错的

4.推荐的集群部署结构

推荐用户把所有Nacos节点放到一个代理下面,然后挂到一个域名下面

image.png

5.端口情况

Nacos2.x版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成

image.png

6.代理转发问题

使用VIP/nginx请求时,需要配置成TCP转发,不能配置http2转发,否则连接会被nginx断开。 9849和7848端口为服务端之间的通信端口,请勿暴露到外部网络环境和客户端测

7.集群部署方式总览

  1. Windows部署
  2. Centos7部署
  3. Docker-Compose部署
  4. K8S部署

8.环境准备

  1. 安装好 JDK,需要 1.8 及其以上版本
  2. 建议: 2核 CPU / 4G 内存 及其以上
  3. 建议: 生产环境 3 个节点 及其以上

9.Windows部署

部署目标

3节点的Nacos集群

步骤

  1. 修改配置:使用外置数据源
  2. 修改配置:添加节点配置
  3. 在MySQL中创建Nacos数据库
  4. 分别启动三个节点上的nacos
  5. 验证是否搭建成功

根据内存情况适当调整JVM参数

image.png

MySQL中创建Nacos数据库

SQL脚本地址:https://github.com/alibaba/nacos/blob/2.1.0/distribution/conf/nacos-mysql.sql

使用外置数据源

修改conf/application.properties的配置,使用外置数据源

image.png

添加节点配置

将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管理界面验证是否搭建成功

image.png

内容大纲
批注笔记
15.Nacos集群
ArticleBot
z
z
z
z
主页
会议室
文章
看板
讨论
AI文档