GCP MemoryStore Redis可否作为GKE集群内节点级Redis从节点的主节点?
问题结论
可以直接使用现有GCP MemoryStore Redis实例作为该架构的主节点,无需额外在K8S集群内自行部署Redis主节点。
可行性说明
- GCP MemoryStore Redis标准层级实例原生兼容开源Redis的主从复制协议,只要你的GKE集群与MemoryStore实例处于同一VPC,或已经通过VPC peering打通网络,部署在GKE节点上的Redis从节点可以通过
REPLICAOF命令与MemoryStore主节点建立同步关系,全量同步、增量同步逻辑与开源Redis完全一致。 - 该架构是GCP官方推荐的低延迟缓存优化方案之一,针对读多写少、对访问延迟敏感的业务场景,既可以降低缓存访问的网络耗时,也能大幅降低MemoryStore实例的访问QPS压力,减少实例扩容成本。
部署注意事项
- 仅MemoryStore Redis标准层级实例支持外部从节点同步,基础层级实例不开放该能力,部署前需要先确认你的现有实例层级符合要求。
- 网络配置需要提前调整:GKE节点的安全组需要放行6379端口的出向访问,MemoryStore实例的入站访问控制规则需要允许GKE节点的IP段访问实例端口。
- 本地从节点建议配置为
只读模式,所有业务写请求必须直接路由到MemoryStore主节点,禁止直接写入本地从节点避免数据不一致。 - MemoryStore的pub/sub消息不会通过主从复制同步到本地从节点,如果你的业务需要消费pub/sub消息,要么直接访问MemoryStore实例,要么额外实现pub/sub消息的转发逻辑,不要依赖本地从节点同步pub/sub消息。
什么时候需要自行在K8S部署Redis主节点
只有当你有特殊需求时才需要考虑自行部署集群:
- 需要自定义Redis配置、使用MemoryStore不支持的Redis高阶特性
- 需要更高的复制灵活性,比如自定义复制策略、多活同步等
- 有跨区域缓存同步、数据本地化等特殊合规要求
内容的提问来源于stack exchange,提问作者Benjamin Barrois
相关产品推荐
相关产品推荐

