访问方式

Alauda Cache Service E1 为应用访问 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 连接。

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

连接方式

以下部分介绍如何根据 Redis 实例的架构建立连接。

哨兵模式

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

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

集群模式

在集群模式部署中,客户端应用首先连接到集群中的任意节点,以获取集群拓扑信息(插槽分布)。在后续操作中,客户端必须根据键的哈希插槽映射,与相应的 Redis Pod 保持直接连接。

为确保最佳可靠性,客户端应用应使用所有集群节点的地址初始化连接。

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