Nacos的三层缓存是什么

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

容灾目录

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

本地缓存

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

服务端缓存

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

缓存目的

  • 提升性能:内存缓存减少延迟,本地缓存降低网络开销。
  • 容错能力:容灾目录和本地快照确保服务不可用时仍可用。
相关推荐
纪莫38 分钟前
技术面:MySQL篇(InnoDB的锁机制)
java·数据库·java面试⑧股
Remember_9931 小时前
【LeetCode精选算法】滑动窗口专题二
java·开发语言·数据结构·算法·leetcode
Filotimo_1 小时前
在java开发中,cron表达式概念
java·开发语言·数据库
码农水水1 小时前
京东Java面试被问:HTTP/2的多路复用和头部压缩实现
java·开发语言·分布式·http·面试·php·wpf
你怎么知道我是队长2 小时前
C语言---未定义行为
java·c语言·开发语言
没有bug.的程序员2 小时前
Java 序列化:Serializable vs. Protobuf 的性能与兼容性深度对比
java·开发语言·后端·反射·序列化·serializable·protobuf
愚公移码2 小时前
蓝凌EKP产品:主文档权限机制浅析
java·前端·数据库·蓝凌
Remember_9932 小时前
【LeetCode精选算法】滑动窗口专题一
java·数据结构·算法·leetcode·哈希算法
开开心心就好2 小时前
音频编辑工具,多端支持基础剪辑易操作
java·网络·windows·java-ee·电脑·maven·excel
凯子坚持 c2 小时前
Protocol Buffers C++ 进阶数据类型与应用逻辑深度解析
java·服务器·c++