找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4163

积分

0

好友

537

主题
发表于 3 小时前 | 查看: 3| 回复: 0

昨晚分享了一个 Nacos 集群的部署,这里再补充一个关于 Nacos 双写的知识。大家或许在工作中遇到过,双写问题导致数据不一致的情况。下面就来了解一下双写是怎么个事儿,不涉及双写原理。

双写的诞生背景是,Nacos 1.x 升级到 2.x 平滑升级过渡的机制,因为 1.x 和 2.x 服务注册内存数据结构完全不一样。所以双写只针对服务发现,配置中心不受这个双写影响。

哪些 Nacos 版本默认开启双写?

Nacos doubleWriteEnabled 版本默认值对比图

Nacos 2.0.0~2.0.4 版本默认开启了双写,如果你使用的是这里的版本,那么在安装时记得关闭双写,不然有可能出现服务注册数据不一致的情况。

报错处理

使用 Nacos 2.0.0~2.0.4 版本时,Nacos 1.x 不支持 gRPC 连接,报错如下或 Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.

Nacos gRPC 连接错误日志:Shutdown in progress

解决方法参考:

  1. https://blog.csdn.net/qq_43197915/article/details/135933211
  2. https://nacos.io/blog/faq/nacos-user-question-history11825/
  3. https://nacos.io/blog/faq/nacos-user-question-history11826/?spm=5238cd80.2a8b2a67.0.0.5c095af373xTOH

1)执行下方命令,查看 Nacos 节点监控,同时查看双写是否关闭

curl -X GET 'localhost:8848/nacos/v1/ns/upgrade/ops/metrics'

Nacos 升级监控指标:isDoubleWriteEnabled=true

2)关闭双写

curl -X PUT 'localhost:8848/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false'

关闭双写后监控:isDoubleWriteEnabled=false

确认 isDoubleWriteEnabled 变为 false 即表示关闭成功。如此便能避免因双写带来的服务数据不一致问题。

本文由云栈社区整理,欢迎关注获取更多 Nacos 等后端技术实战干货。




上一篇:EasyLogger移植实战:Arm Linux下异步日志库手把手教程
下一篇:future 和 promise 解决了 C++ 多线程编程中的哪些核心痛点?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-7-30 04:48 , Processed in 0.842317 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表