Nacos的三层缓存是什么
Nacos的三层缓存包括容灾目录、本地缓存和服务端缓存,主要用于提升性能、降低存储压力并实现容错能力。
容灾目录
- 作用:在服务端或客户端短暂不可用时,提供临时数据访问能力。
- 实现:通过本地磁盘快照文件(如
snapshot目录)存储配置或服务信息,确保应用启动时可加载最新数据。
本地缓存
- 作用:加速数据读取,减少对底层存储(如数据库)的直接访问。
- 实现:
- 服务端:内存缓存服务实例、配置等核心数据,通过
ConcurrentHashMap等结构存储。 - 客户端:内存缓存服务发现和配置信息,支持启动时加载本地快照(需显式配置
nacos.naming.load.cache.at.start=true)。
服务端缓存
- 作用:优化读取性能,降低数据库负载。
- 实现:
- 内存缓存:存储高频访问的服务实例、配置等数据。
- 本地文件缓存:周期性从数据库(如MySQL)同步配置到磁盘(如
{user.home}/nacos/data/config-data),支持快速读取和容灾。
缓存目的
- 提升性能:内存缓存减少延迟,本地缓存降低网络开销。
- 容错能力:容灾目录和本地快照确保服务不可用时仍可用。
