当前位置: 首页 > article >正文

Nacos 进阶:持久化 + 集群搭建,让你的服务稳如老狗!

上一篇文章我们学习了 Nacos 的基本使用很多小伙伴私信我说单机 Nacos 用着挺香的但是万一挂了怎么办确实单机 Nacos 存在两个致命问题数据丢失Nacos 默认用嵌入式数据库 Derby 存储数据数据存在本地一旦服务器挂了所有配置都没了单点故障只有一个节点只要这个节点挂了所有服务都注册不了也发现不了整个微服务系统就瘫痪了今天我们就来解决这两个问题学习 Nacos 的持久化和集群搭建让你的 Nacos 稳如老狗再也不用担心单点故障一、Nacos 持久化把数据存到 MySQL 里1. 为什么要持久化刚才说了Nacos 默认用的是嵌入式数据库 Derby这个数据库有个缺点每个 Nacos 节点都有自己的 Derby 数据库。如果我们搭建集群每个节点的数据都是独立的会导致数据不一致的问题。所以生产环境中我们必须把 Nacos 的数据库切换成 MySQL让所有 Nacos 节点都共享同一个 MySQL 数据库这样数据就一致了而且 MySQL 的数据备份和恢复也更方便。2. 持久化步骤1新建 Nacos 数据库首先在 MySQL 中新建一个名为nacos的数据库字符集选utf8mb4。2执行 SQL 脚本Nacos 已经为我们准备好了建表脚本就在/usr/local/nacos/conf目录下文件名是nacos-mysql.sql。把这个脚本复制到 Navicat 或者 MySQL 命令行中执行会自动创建所有需要的表。3修改 Nacos 配置文件编辑/usr/local/nacos/conf/application.properties文件找到数据库配置部分修改成如下内容把里面的 IP、端口、用户名、密码改成你自己的 MySQL 信息。4重启 Nacos重启完成后去 Nacos 控制台发布一个配置然后去 MySQL 的config_info表中查看就能看到我们发布的配置已经存到 MySQL 里了这说明持久化成功了。二、Nacos 集群搭建3 台节点最靠谱1. 为什么集群要 3 台很多人会问集群搭 2 台不行吗为什么一定要 3 台这是因为 Nacos 集群采用的是Raft 一致性算法这个算法要求集群中必须有超过半数的节点存活才能正常工作。2 台节点超过半数需要 2 台只要 1 台挂了集群就挂了和单机没区别3 台节点超过半数需要 2 台允许 1 台挂了集群仍然正常工作4 台节点超过半数需要 3 台也只允许 1 台挂了和 3 台效果一样但浪费资源所以3 台节点是性价比最高的集群方案生产环境一般都用 3 台。2. 集群搭建步骤我们在同一台服务器上模拟 3 个 Nacos 节点用不同的端口区分8851、8852、8853。1修改 cluster.conf 配置文件在文件末尾添加 3 个节点的地址⚠️ 注意这里要写服务器的真实 IP不要写 [127.0.0.1](127.0.0.1)2复制 3 份 Nacos3修改每个节点的端口号分别编辑 3 个节点的application.properties文件修改server.port⚠️踩坑提醒我第一次配置的时候手滑把 nacos-8853 的端口写成了 8852导致启动失败大家一定要仔细检查每个节点的端口号4启动集群分别启动 3 个节点启动完成后访问任意一个节点的控制台比如http://192.168.61.132:8851/nacos进入 集群管理 - 节点列表就能看到 3 个节点都在线了三、Nginx 反向代理统一入口现在我们有 3 个 Nacos 节点了服务注册的时候总不能写 3 个地址吧这时候就需要 Nginx 来做反向代理提供一个统一的入口让所有服务都通过 Nginx 访问 Nacos 集群。1. 安装 Nginx1安装依赖2下载 Nginx⚠️踩坑提醒如果下载时遇到 当前不支持该文件类型请尝试其他文件 的错误大概率是网络问题或者下载链接不对可以换个浏览器下载或者用国内镜像源。3解压安装2. 配置 Nginx 反向代理编辑/usr/local/nginx/conf/nginx.conf文件修改成如下内容3. 启动 Nginx现在我们就可以通过http://192.168.61.132来访问 Nacos 集群了Nginx 会自动把请求转发到其中一个健康的节点上。四、集群测试最后我们来测试一下集群是否正常工作。修改服务的配置文件把 Nacos 地址改成 Nginx 的地址启动服务去 Nacos 控制台查看服务已经成功注册到集群中了。现在我们手动关掉一个 Nacos 节点比如 8851然后刷新控制台会发现集群仍然正常工作服务也能正常注册和发现。这说明我们的集群搭建成功了五、总结今天我们学习了 Nacos 的进阶内容Nacos 持久化把数据从 Derby 切换到 MySQL解决数据丢失问题Nacos 集群搭建3 台节点实现高可用允许 1 台节点故障Nginx 反向代理为集群提供统一入口到这里Nacos 的核心内容我们就都学完了。从入门到进阶从单机到集群相信大家已经能够在生产环境中使用 Nacos 了。如果这篇文章对你有帮助别忘了点赞收藏关注哦有任何问题都可以在评论区留言我会一一解答

相关文章:

Nacos 进阶:持久化 + 集群搭建,让你的服务稳如老狗!

上一篇文章我们学习了 Nacos 的基本使用,很多小伙伴私信我说:"单机 Nacos 用着挺香的,但是万一挂了怎么办?"确实,单机 Nacos 存在两个致命问题:数据丢失:Nacos 默认用嵌入式数据库 De…...

西门子PLC S7-1200电动机的报警控制

【实例16】预警启动1.PLC控制任务说明为保证设备的运行安全,许多大型生产机械(如起重机、龙门刨床等)在运行启动之前都用电铃或蜂鸣器发出报警信号,预示设备即将启动,警告人们迅速退出危险地段。控制要求如下&#xff…...

备忘录笔记

随便写点小知识按位或: |, 按位与:&...

Dify v1.13.x 版本更新速览:从人机协作到架构升级

Dify 在 2026 年 2-3 月密集发布了 v1.13.0、v1.13.1、v1.13.2、v1.13.3 四个版本。这四次更新虽属小版本迭代,却包含了标志性的人机协作功能、架构层面的重要调整,以及多项安全与稳定性修复。本文将梳理这四个版本的核心变化,帮助你快速了解…...

Rust的#[repr(packed)]应用密集

Rust的#[repr(packed)]应用密集:高效内存布局的利器 在系统编程领域,内存布局的精细控制往往是性能优化的关键。Rust作为一门注重安全与效率的语言,提供了#[repr(packed)]属性,允许开发者取消结构体的内存对齐,实现数…...

FireRed-OCR Studio入门必看:支持数学公式LaTeX渲染的OCR工具深度评测

FireRed-OCR Studio入门必看:支持数学公式LaTeX渲染的OCR工具深度评测 1. 为什么需要专业OCR工具 在日常工作和学习中,我们经常遇到需要将纸质文档或图片中的文字转换为可编辑文本的情况。普通OCR工具虽然能识别文字,但面对复杂文档时往往力…...

YOLOv5到v8怎么选?我用同一份植物病害数据集做了个全面对比(附性能测试结果)

YOLOv5到v8实战评测:植物病害检测模型选型指南 在计算机视觉领域,目标检测模型的迭代速度令人目不暇接。作为YOLO系列的最新成员,从v5到v8每个版本都带来了显著的性能提升和架构创新。但对于实际项目中的技术决策者而言,面对众多版…...

从网线到光纤:保姆级图解SFP光模块在千兆以太网中的信号转换全流程

从网线到光纤:保姆级图解SFP光模块在千兆以太网中的信号转换全流程 当你盯着机房交换机上闪烁的绿色指示灯时,是否好奇过那些跳动的光点背后隐藏着怎样的技术魔法?作为网络工程师,我们每天都在与SFP光模块打交道,但很…...

【k8s springcloud maven】解决fabric8:Kubernetes-client与SpringCloud版本冲突的Maven依赖管理策略

1. 当Kubernetes-client遇上SpringCloud:依赖冲突的典型场景 最近在帮朋友排查一个微服务项目时,遇到了典型的依赖版本冲突问题。项目中使用fabric8的kubernetes-client(6.13.0版本)管理Kubernetes集群资源,同时采用了…...

告别仿真卡顿!用Vivado的ILA核做“硬件断点”实时抓波形,调试效率翻倍

硬件调试革命:用Vivado ILA核实现实时波形捕获与高效问题定位 在FPGA开发中,最令人头疼的莫过于遇到那些"时隐时现"的硬件问题——仿真环境下运行良好,一旦烧录到实际硬件中就出现各种异常。传统仿真方法不仅耗时漫长,更…...

DAMOYOLO-S模型Python API设计与面向对象封装

DAMOYOLO-S模型Python API设计与面向对象封装 1. 引言 如果你正在寻找一个轻量级但性能不俗的目标检测模型,DAMOYOLO-S很可能已经进入了你的视野。它凭借不错的精度和友好的推理速度,在很多实际场景里都挺能打。但当你兴冲冲地从GitHub上拉下代码&…...

内存的操作权限(堆空间、栈空间)

...

从Excel到Cadence:基于ODBC的智能元件库构建与实战

1. 为什么需要智能元件库管理 每次画原理图最头疼的就是找元件符号和封装对不对?我见过太多工程师的电脑桌面上堆满了各种版本的元件库,每次新建项目都要花半天时间核对封装是否匹配。更可怕的是,当某个元件参数需要更新时,得在所…...

【鸿蒙实战】从零编译ONNX Runtime,解锁鸿蒙端侧AI推理

1. 为什么要在鸿蒙上折腾ONNX Runtime? 最近几年AI应用爆发式增长,手机端跑模型已经不是什么新鲜事了。但当我第一次尝试在鸿蒙系统上部署AI模型时,发现事情没那么简单——官方居然没有提供现成的ONNX Runtime库!这就像你买了台新…...

mysql修改字段长度是否影响数据_隐式转换与字符集限制分析

ALTER TABLE MODIFY 会静默截断超长数据,且不报错;需先检查长度、开事务验证;utf8mb4下VARCHAR字符数≠字节数,索引易超限;TEXT不可直接转VARCHAR;隐式转换多因collation不一致导致索引失效。ALTER TABLE M…...

零基础入门:使用Xinference快速部署tao-8k,体验长文本向量化

零基础入门:使用Xinference快速部署tao-8k,体验长文本向量化 1. 认识tao-8k:为什么选择这个长文本向量化模型 在当今信息爆炸的时代,处理长文本数据已成为许多应用场景的刚需。tao-8k是由Hugging Face开发者amu研发并开源的一款…...

Ubuntu 20.04服务器部署Youtu-Parsing:生产环境配置全攻略

Ubuntu 20.04服务器部署Youtu-Parsing:生产环境配置全攻略 最近在帮一个做内容分析的朋友搭建一套视频理解系统,他们需要从海量视频里自动提取关键信息。试了几个方案,最后选定了Youtu-Parsing,效果确实不错,但要把这…...

Ostrakon-VL扫描终端实战:对接RPA机器人自动触发补货OA流程

Ostrakon-VL扫描终端实战:对接RPA机器人自动触发补货OA流程 1. 项目背景与价值 在零售行业,货架缺货是影响销售转化的重要因素。传统的人工巡检方式效率低下,且难以实现实时响应。Ostrakon-VL扫描终端结合RPA技术,构建了一套完整…...

Redis 缓存预热方案优化实践

Redis 缓存预热方案优化实践 在分布式系统中,Redis 作为高性能缓存层,对系统响应速度至关重要。冷启动或缓存失效时,大量请求直接穿透到数据库,可能导致服务雪崩。缓存预热通过提前加载热点数据到 Redis,有效缓解这一…...

AI Agent生产环境监控清单:10个核心指标与告警阈值设置

AI Agent生产环境监控清单:10个核心指标与告警阈值设置 关键词:AI Agent监控、生产环境可观测性、告警阈值配置、LLM应用运维、Agent可靠性、大模型应用SLO、智能体故障排查 摘要:随着AI Agent在企业客服、内部知识库、自动化办公等场景的大规模落地,生产环境的稳定性和输出…...

一文吃透路由基础:从核心概念到转发全流程,网工入门必看

我们日常上网、聊天、访问网页,数据能从终端穿越千里抵达目标服务器,背后最核心的网络基石,就是「路由」。很多刚接触网络的朋友,总会被路由、路由器、路由表等概念绕晕,也搞不懂管理距离、度量值的核心区别&#xff0…...

DeepSeek-R1-Distill-Qwen-1.5B应用场景:智能客服系统搭建案例

DeepSeek-R1-Distill-Qwen-1.5B应用场景:智能客服系统搭建案例 1. 引言:小模型也能有大作为 如果你正在为搭建智能客服系统发愁,觉得大模型太贵、小模型太笨,那今天这个案例可能会让你眼前一亮。 我最近帮一家电商公司搭建了一…...

算法训练营第四天|螺旋矩阵

今日学习的文章链接和视频链接: https://www.bilibili.com/video/BV1SL4y1N7mV/ 自己看到题目的第一想法: 第一想法是,先定义矩阵的上下左右四个边界,然后按照从左到右,从上到下,从右到左,从下到…...

像素幻梦效果展示:FLUX.1-dev+LoRA生成RPG角色/场景/道具高清像素图

像素幻梦效果展示:FLUX.1-devLoRA生成RPG角色/场景/道具高清像素图 1. 像素幻梦创意工坊概览 Pixel Dream Workshop(像素幻梦创意工坊)是一款基于FLUX.1-dev扩散模型的下一代像素艺术生成工具。它采用明亮的16-bit像素工坊视觉设计&#xf…...

IDEA中JDK版本自动回滚?Maven项目终极解决方案(附多模块配置技巧)

IDEA中JDK版本自动回滚的根治方案:Maven项目配置全指南 每次在IDEA中修改完JDK版本,一刷新Maven就回到解放前?这种令人抓狂的问题困扰着不少Java开发者。特别是在多模块项目中,不同模块的JDK版本频繁跳转,不仅影响开发…...

SAM 3图像视频分割:小白友好,快速部署体验AI黑科技

SAM 3图像视频分割:小白友好,快速部署体验AI黑科技 1. SAM 3是什么?它能做什么? SAM 3是Facebook推出的一个强大的AI模型,专门用于图像和视频中的物体分割。简单来说,它就像一个"智能剪刀"&…...

Qwen3-14B效果展示:看它如何理解复杂指令,进行深度逻辑推理

Qwen3-14B效果展示:看它如何理解复杂指令,进行深度逻辑推理 如果你对大语言模型的印象还停留在“聊天机器人”或者“文本生成器”的阶段,那么Qwen3-14B可能会彻底颠覆你的认知。它不是一个简单的问答工具,而是一个能够理解复杂意…...

Qwen2-VL-2B-Instruct对比测试:与通用视觉模型在特定场景下的效果差异

Qwen2-VL-2B-Instruct对比测试:与通用视觉模型在特定场景下的效果差异 最近在尝试一些视觉语言模型,发现一个挺有意思的现象:很多号称“通用”的模型,在面对一些特定任务时,表现可能还不如一些专门优化过的“小”模型…...

建立论坛网站

...

UVM面试高频考点精讲:从uvm_component到phase机制的避坑指南

UVM面试高频考点精讲:从uvm_component到phase机制的避坑指南 在IC验证工程师的求职路上,UVM面试题往往成为区分候选人专业水平的关键分水岭。无论是寒武纪、比特大陆这类芯片设计巨头,还是新兴的AI芯片公司,对UVM底层机制的理解深…...