在负载均衡器后设置 Redis Enterprise 集群

使用负载均衡器而不是DNS来设置Redis Enterprise集群,以将流量引导到集群节点。

在不允许使用DNS的环境中设置Redis Enterprise集群,您可以使用负载均衡器(LB)将流量引导到集群节点。

数据库的DNS角色

通常情况下,Redis Enterprise 使用 DNS 来提供动态数据库端点。 像 redis-12345.clustername.domain 这样的 DNS 名称让客户端可以访问数据库资源:

  • 如果使用多个代理,DNS名称将解析为多个IP地址,以便客户端可以进行负载均衡。
  • 在故障转移或拓扑更改时,DNS名称会自动更新以反映实时IP地址。

当无法使用DNS时,客户端仍然可以使用IP地址连接到端点,但负载均衡和IP地址自动更新的好处将不可用。

带有负载均衡器的网络架构

您可以通过负载均衡器来弥补DNS解析的不足,这些负载均衡器可以暴露服务并提供服务发现。 在Redis Enterprise集群前面配置了一个负载均衡器,暴露了几个逻辑服务:

  • 控制平面服务,例如集群管理器用户界面
  • 数据平面服务,例如用于客户端应用程序连接的数据库端点

根据您想要在集群外部访问的Redis Enterprise服务,您可能需要单独配置负载均衡器。 在负载均衡器上定义了一个或多个虚拟IP(VIP)以暴露Redis Enterprise服务。 架构如下图所示,展示了一个3节点的Redis Enterprise集群,其中一个数据库(DB1)配置在端口12000上:

cluster-behind-load-balancer-top-down

设置带有负载均衡器的集群

先决条件

  • Install 在您的集群上安装最新版本的 Redis Enterprise Software
  • 即使未使用DNS,也要使用集群名称(FQDN)配置集群。 请记住,相同的集群名称用于颁发许可证密钥。 我们建议您在FQDN中使用“.local”后缀。

配置负载均衡器

  • 确保负载均衡器正在对集群节点执行TCP健康检查。
  • 通过虚拟IP暴露你所需的服务,例如:
    • 集群管理器UI在端口8443
    • Rest API在端口9443用于安全的HTTPS连接,端口8080用于HTTP
    • 数据库端口10000-19999

其他端口显示在Redis Enterprise网络端口列表中。

Note:

仅需要在端口8443上的Redis Enterprise Cluster Manager UI上使用粘性、安全的连接。

  • 某些负载均衡器提供了关闭空闲连接的特定逻辑。要么关闭此功能,要么确保连接到Redis的应用程序使用重连逻辑。
  • 确保负载均衡器足够快,能够解析通过负载均衡器连接到Redis数据库的两个集群或应用程序之间的连接。
  • 选择您环境中常用的标准负载均衡器,以便轻松获取内部专业知识以解决问题。

配置集群

对于位于负载均衡器后面的集群,我们建议使用all-nodes proxy policy并启用handle_redirects

为了允许入站连接在集群内的相关节点上终止,请在集群上运行以下rladmin命令:

# Enable all-nodes proxy policy by default
rladmin tune cluster default_sharded_proxy_policy all-nodes default_non_sharded_proxy_policy all-nodes

# Redirect where necessary when behind a load balancer
rladmin cluster config handle_redirects enabled

可选地配置稀疏分片放置,以允许客户端连接更接近Redis分片所在的位置终止:

# Enable sparse placement by default
rladmin tune cluster default_shards_placement sparse

配置数据库

在您更新集群设置并配置负载均衡器后,您可以访问Redis企业集群管理器UI,网址为https://load-balancer-virtual-ip:8443/,并创建一个新的数据库

要创建一个Active-Active数据库,请使用crdb-cli工具。有关从命令行创建Active-Active数据库的更多信息,请参阅crdb-cli参考

当集群配置更改时更新负载均衡器配置

当您的Redis Enterprise集群位于负载均衡器后面时,您必须在集群拓扑和IP地址发生变化时更新负载均衡器。 一些需要您更新负载均衡器的常见情况包括:

  • 向Redis Enterprise集群添加新节点
  • 从Redis Enterprise集群中移除节点
  • Redis Enterprise 集群节点的维护
  • Redis Enterprise集群节点的IP地址变更

在进行这些更改后,请确保您的应用程序中的Redis连接能够连接到Redis数据库,特别是如果它们直接连接到已更改的IP地址。

集群间通信注意事项

Redis Enterprise 支持多种允许集群间复制的拓扑结构,例如 Replica OfActive-Active 部署选项。 当您的 Redis Enterprise 软件集群位于负载均衡器后面时,您必须允许一些网络服务在负载均衡器中开放并定义,以便复制能够正常工作。

副本

为了使Replica Of通信正常工作,您必须在每个集群中本地暴露数据库端口,并允许这些端口通过集群之间的任何防火墙。

主动-主动

为了使Active-Active通信正常工作,您必须暴露多个端口,包括每个数据库端口和网络端口配置中定义的多个控制平面端口。请注意连接源列中包含“Active-Active”的服务,并允许这些端口通过集群之间的任何防火墙。

RATE THIS PAGE
Back to top ↑