Nacos的三层缓存是什么

Nacos的三层缓存包括‌容灾目录 ‌、‌本地缓存 ‌和‌服务端缓存‌,主要用于提升性能、降低存储压力并实现容错能力。

容灾目录

  • 作用:在服务端或客户端短暂不可用时,提供临时数据访问能力。
  • 实现:通过本地磁盘快照文件(如snapshot目录)存储配置或服务信息,确保应用启动时可加载最新数据。

本地缓存

  • 作用:加速数据读取,减少对底层存储(如数据库)的直接访问。
  • 实现:
  • 服务端:内存缓存服务实例、配置等核心数据,通过ConcurrentHashMap等结构存储。
  • 客户端:内存缓存服务发现和配置信息,支持启动时加载本地快照(需显式配置nacos.naming.load.cache.at.start=true)。

服务端缓存

  • 作用:优化读取性能,降低数据库负载。
  • 实现:
  • 内存缓存:存储高频访问的服务实例、配置等数据。
  • 本地文件缓存:周期性从数据库(如MySQL)同步配置到磁盘(如{user.home}/nacos/data/config-data),支持快速读取和容灾。

缓存目的

  • 提升性能:内存缓存减少延迟,本地缓存降低网络开销。
  • 容错能力:容灾目录和本地快照确保服务不可用时仍可用。
相关推荐
一灯架构2 小时前
90%的人答错!一文带你彻底搞懂ArrayList
java·后端
Y4090013 小时前
【多线程】线程安全(1)
java·开发语言·jvm
布局呆星3 小时前
SpringBoot 基础入门
java·spring boot·spring
风吹迎面入袖凉3 小时前
【Redis】Redisson的可重入锁原理
java·redis
w6100104664 小时前
cka-2026-ConfigMap
java·linux·cka·configmap
语戚4 小时前
力扣 968. 监控二叉树 —— 贪心 & 树形 DP 双解法递归 + 非递归全解(Java 实现)
java·算法·leetcode·贪心算法·动态规划·力扣·
quxuexi5 小时前
网络通信安全与可靠传输:从加密到认证,从状态码到可靠传输
java·安全·web
hrhcode5 小时前
【java工程师快速上手go】二.Go进阶特性
java·golang·go
小碗羊肉7 小时前
【从零开始学Java | 第三十一篇下】Stream流
java·开发语言