tencent cloud

腾讯云分布式缓存数据库(兼容 Redis)

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
应用场景
存储引擎
产品系列
产品版本
规格与性能
读写分离
多可用区部署
地域和可用区
名词解释
购买指南
计费概述
定价中心
购买实例
续费说明(包年包月)
退费说明(包年包月)
欠费说明
按量转包年包月
快速入门
快速创建实例
连接 Redis 实例
操作指南
操作总览
连接数据库实例
管理实例
升级实例
管理节点(Redis/ValKey 版)
管理多可用区
备份与恢复
账号管理
参数配置
慢查询
访问管理
网络与安全
监控与告警
事件管理(Redis/ValKey 版)
数据迁移
Redis 版全球复制
数据库审计
诊断优化
Sentinel 模式
开发准则
命名规则
基本使用准则
Key 与 Value 设计原则
命令使用准则
客户端程序设计准则
连接池配置
命令参考
命令参考概览
Redis 版与 Valkey 版命令兼容性
大版本命令使用差异
Proxy 架构与直连模式的使用差异
命令更多操作(Redis/Valkey 版)
Memcached 版命令兼容性
实践教程
基于 Spring Boot 搭建 Redis 客户端监控
Redis 客户端连接配置策略与实践
集群架构全局 SCAN 使用指南
实例安全下线
热 Key 与 大 key
可用区迁移方案
故障处理
连接异常
Redisson 客户端超时重连异常分析及解决方案
性能排查与调优
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Parameter Management APIs
Other APIs
Backup and Restoration APIs
Region APIs
Monitoring and Management APIs
Log APIs
Data Types
Error Codes
常见问题
使用常见问题
连接登录问题
购买相关问题
相关协议
服务等级协议
Terms of Service
词汇表
联系我们

Proxy 特性

PDF
聚焦模式
字号
最后更新时间: 2026-03-17 16:36:34
腾讯云分布式缓存数据库的代理服务器(Proxy)承担着路由分发、负载均衡及自动故障切换等核心职责,旨在简化客户端的处理逻辑。深入剖析 Proxy 的路由机制及其对特定命令的处理策略,将助力您构建更加高效、稳健的业务架构。

Proxy 介绍

代理服务器(Proxy)作为独立组件运行,不会占用数据分片的计算资源。通过部署多个 Proxy 节点,系统不仅能够实现流量的负载均衡与故障转移,还能显著增强分布式缓存数据库实例的可用性与伸缩性。
功能
说明
路由转发
Proxy 维护与后端数据分片的持久连接,承担着请求的均衡分配与精确路由的关键角色,确保请求的高效处理和系统的稳定运行。
兼容主从集群访问模式
当业务增长超出了标准架构的承载能力时,您可以轻松地将数据迁移到配备了 Proxy 的集群架构中,非多 Key 操作的情况下都可以兼容,无缝实现架构转换,显著减少了业务调整的成本,确保了业务的平滑过渡和持续增长。具体操作,请参见 升级实例架构
变更分片无感
Proxy 本身并不直接调整数据分片的数量和大小,而是通过与后端的数据分片管理机制协同工作来实现数据分片弹性伸缩。在数据分片需要迁移(如扩容或缩容操作)时,Proxy 可以支持透明的数据迁移过程,确保客户端操作不受影响。
多数据库(DB)
原生 Redis 协议及其 Cluster 客户端通常仅支持单一数据库操作,且默认情况下仅使用数据库0,同时不提供对`SELECT`命令的支持。通过使用 Proxy 来连接集群实例,可以实现对多个数据库的访问,并且能够使用`SELECT`命令在不同的数据库间切换。在集群版中,每个实例默认提供高达256个数据库,为多数据库功能提供了强大支持。
副本只读
读写分离架构,Proxy 持续监控只读节点的运行状况,以便在特定情况下实施流量管理措施:
当只读节点表现出异常状态时,Proxy 将减少该节点的权重,降低其处理请求的比例。若一次尝试连接失败,Proxy 将进行路由刷新,暂时停止向该节点转发流量,将业务请求转换到其他节点,直至问题得到解决并重新激活服务。
如果只读节点正在进行全量数据同步,Proxy 将暂停向该节点发送流量。这一措施将持续至同步过程完成,确保节点在承担用户请求前拥有最新和一致的数据副本。同步完成后,Proxy 将恢复对该节点的服务,允许其参与正常的请求处理。
多账号权限控制
Proxy 可以根据用户设定的权限来控制用户能够执行的命令类型。不同的账户能执行他们被授权的命令。
只读权限用户:只能执行读命令,如 GET、MGET、HGET、SMEMBERS 等。尝试执行任何写命令(如 SET、LPUSH、SADD 等)将会被 Redis 服务器拒绝。
读写权限用户:具有读写权限的用户可以执行包括读命令和写命令在内的所有命令。

路由转发规则

转发规则
说明
基础转发规则
集群架构
操作单个 Key 的命令,每个 Key 通常存储在一个分片上,Proxy 会直接将请求发送到该 Key 所属的槽(slot)位。
当操作涉及多个 Key 时,如果这些 Key 是存储在不同的数据分片,Proxy 会将命令拆分成多个子命令,每个子命令只涉及一个 Key,将每个 Key 分别发送给对应的分片。
读写分离
写请求:因为所有的数据变更都需要在主节点上进行,Proxy 将其直接转发到主节点(Master)。
读请求:Proxy 根据从节点的实际性能和当前负载动态调整权重,将读请求均衡分配到每个从节点。当前暂不支持自定义具体的节点。
特定命令转发规则
Proxy 会将事务命令(MULTI 或 EXEC)、Lua 脚本命令 (EVAL 或 EVALSHA)、SCAN、INFO、发布订阅命令(PUBLISH、SUBSCRIBE 等)转发至主节点。

连接数说明

在正常情况下,Proxy 通过与数据分片建立长连接来处理请求。当请求中包含特定命令时,Proxy 将根据命令的处理需求在相应的数据分片上创建额外的连接。单个数据节点分片最大连接数限制,请参见 调整连接数数量。为避免超过连接数限制,您需要谨慎使用以下命令。
阻塞类命令:BRPOP、BRPOPLPUSH、BLPOP、BZPOPMAX、BZPOPMIN、BLMPOP、BZMPOP。
事务类命令:MULTI、EXEC、WATCH。
MONITOR 类命令:MONITOR、IMONITOR。
订阅命令:SUBSCRIBE、UNSUBSCRIBE、PSUBSCRIBE、PUNSUBSCRIBE。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈