
Nacos 在服务端和客户端都广泛的使用了缓存机制,下面着重介绍一下。
一、 Nacos 服务端缓存 (Server-Side Caching)
Nacos 服务端缓存的主要目的是提高读取性能、降低对底层存储(数据库或磁盘文件)的压力,并加速对客户端请求的响应。
-
缓存的内容:
- 服务实例信息: 注册到 Nacos 的服务实例列表(IP、端口、权重、元数据、健康状态等)。这是服务发现的核心数据,查询频率非常高。
- 服务信息: 服务的元数据,例如服务名、分组名、保护阈值等。
- 配置信息: 用户发布的配置内容(按
dataId和group区分)。客户端会频繁拉取或监听配置变更。 - 集群节点信息: Nacos 集群自身节点的状态和信息。
- 其他内部状态或元数据: 用于加速内部处理逻辑。
-
缓存的目的:
- 提升读性能/降低延迟: 从内存缓存中读取数据远快于从数据库或磁盘读取,可以极大加速客户端对服务列表或配置内容的查询请求。
- 减轻存储层负载: 大量的客户端(可能成千上万)会频繁请求服务实例和配置信息。如果每次请求都直接访问数据库,会对数据库造成巨大压力,容易成为性能瓶颈。缓存层可以挡住绝大部分读请求。

最低0.47元/天 解锁文章
2806

被折叠的 条评论
为什么被折叠?



