Nacos 生产运维与调优

把 Nacos 从"能跑"带到"稳跑",需要健康检查、容量规划、备份与演练一套动作。本章整理生产运维的关键项。

健康检查

日常探活可以直接调 actuator 接口,或看控制台"集群管理"里的节点状态:

curl -s http://127.0.0.1:8848/nacos/actuator/health
# 输出:{"status":"UP",...}    status 为 DOWN 时优先查 MySQL 连接与磁盘空间

建议把探活接入监控告警:节点失联、健康实例比例过低触发保护阈值(第 6 章)都应有告警。

JVM 与内存调优

启动脚本默认按较小规格给堆内存(单机常见 512m 档),实例与配置量上来后要调大。修改 bin/startup.sh 里的 JAVA_OPT:

# 在 startup.sh 中调整(示例:堆 2G 起步,按机器内存与实例量规划)
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"

调优观察点:堆使用率、Full GC 频率与耗时;CPU 高或卡顿时可抓线程栈(jstack)结合 logs/ 下日志分析,重点看 naming-server、config-server 日志有无异常。

容量与节点规模

单机承载量与机器规格强相关,常规配置下支撑数千至上万实例量级问题不大,具体以压测为准。规划思路:

  • 实例、配置量小:单机或双机即可
  • 量大或要求高可用:横向加到 3 节点以上并前置负载均衡(第 12 章)
  • 定期在控制台查看服务数、实例数,接近上限前扩容

日志与磁盘

日志默认输出在安装目录 logs/ 下:

文件内容
nacos.log主日志,全局问题先看它
naming-server.log / config-server.log注册、配置模块日志
start.out启动日志
access 相关日志HTTP 访问记录,排查调用来源用

日志量大时要设置保留策略并定期清理,磁盘写满会导致服务异常。

备份策略

配置与持久实例数据都在 MySQL 里,备份以库为主、导出为辅:

# 每日定时备份数据库
mysqldump -u nacos -p nacos_config > /backup/nacos_$(date +%F).sql

控制台"配置管理"支持按 dataId 导出配置,作为库备份之外的便携副本;历史版本数据(his_config_info)也在库里,一并备份即可。

容量治理

  • 僵尸实例:心跳断开的临时实例会被自动摘除,控制台里长期不用的服务手动下线或删除
  • 无主配置:定期盘点 dataId 是否仍有客户端使用,无人引用的配置归档或删除,避免"配置孤儿"
  • 命名空间太多、配置太碎也会增加维护成本,治理时注意收敛

故障演练

定期做破坏性演练才能验证高可用设计:

  1. 低峰期停掉一个集群节点,观察注册、发现、配置读写是否正常
  2. 验证负载均衡是否自动绕开故障节点(健康检查生效)
  3. 恢复节点,观察它与集群的数据同步是否完成
  4. 演练全程留记录,把发现的问题纳入整改

小结

生产运维可以总结为四件事:探活与告警管"活着",JVM/容量/日志管"跑得快",MySQL 备份管"丢不了",下线清理与故障演练管"不脏不乱"。把这四件事制度化,Nacos 就是可靠的基础设施。

笔记加载中…