访问方式

灵雀云 Cache Service for Redis OSS 提供多种连接策略,供应用程序访问 Redis 实例。本节描述了如何获取适当的连接地址,并在哨兵模式和集群模式下建立与 Redis 实例的连接。

目录

如何获取访问地址

Redis 实例支持多种访问方法,以满足不同的部署场景。这些访问方法符合标准的 Redis 连接协议。有关详细信息,请参见官方 Redis 文档:

集群内访问地址

集群内访问提供了 Kubernetes 网络环境内的连接性。可供选择的连接方式有两种:

  1. 基于 DNS 的内部路由:使用 Kubernetes 服务发现机制
  2. 基于 IP 的内部路由:使用直接 IP 地址

这两种方法都支持连接到配置为集群模式或哨兵模式的 Redis 实例。

要获取内部访问地址:导航到 实例详情 > 访问方式 > 集群内访问

集群外访问地址

集群外访问允许从 Kubernetes 网络环境外部进行连接,例如从运行在不同集群或外部系统中的应用程序。这种方法在网络策略允许时也可用于集群内部访问。

支持两种外部访问方法:

  • NodePort:在每个 Kubernetes 节点上暴露 Redis 的静态端口
  • LoadBalancer:提供外部负载均衡器以将流量路由到 Redis 实例

要获取外部访问地址:导航到 实例详情 > 访问方式 > 集群外访问

NodePort 访问注意事项

在利用 NodePort 从外部网络访问时,确认网络防火墙允许访问相应的 IP 地址和 NodePort 范围。由于 Redis 哨兵和集群协议的架构限制,客户端应用程序与 NodePort 端点之间需要直接的网络连接。不支持通过额外的负载均衡器代理 NodePort 连接。

在多网卡环境中,Redis 哨兵和集群将使用每个节点的默认网络接口初始化节点地址。因此,使用非默认网络接口结合暴露端口访问 Redis 不受支持。对于多网卡部署,建议使用 LoadBalancer 访问方式。

连接方式

以下部分描述了如何根据架构与 Redis 实例建立连接。

哨兵模式

在哨兵模式部署中,所有哨兵实例在固定名称 mymaster 下注册 Redis 主从组。客户端应用程序在通过哨兵协议连接时必须使用此名称。

有关流行客户端库的详细连接示例,请参阅 访问实例(哨兵模式)

集群模式

在集群模式部署中,客户端应用程序最初连接到集群中的任何节点以检索集群拓扑信息(槽分布)。在后续操作中,客户端必须根据密钥哈希槽映射直接连接到相应的 Redis Pods。

为了优化可靠性,客户端应用程序应使用所有集群节点的地址初始化连接。

有关流行客户端库的详细连接示例,请参阅 访问实例(集群模式)