Redis企业软件中的术语

解释Redis企业软件及其文档中使用的术语。

以下是Redis企业软件中使用的一些术语的解释。

节点

一个节点是一台物理机、虚拟机、容器或云实例,在其上安装了RS安装包并运行了设置过程,以使该机器成为集群的一部分。

每个节点都是运行多个Redis实例的容器,这些实例被称为“分片”。

生产集群的推荐配置是奇数个节点,最少三个。请注意,在某些配置中,某些功能可能会被阻止。例如,如果集群只有一个节点,则无法启用数据库复制,这有助于实现高可用性。

一个节点由多个组件组成,如下所述,并与其他集群节点协同工作。

Redis 实例(分片)

如上所述,每个节点作为容器托管多个数据库实例,称为“分片”。

Redis 企业软件支持多种数据库配置:

  • 标准Redis数据库 - 一个没有复制或集群的单一Redis分片。
  • 高可用的Redis数据库 - 每个数据库主分片都有一个副本分片,这样如果主分片失败,集群可以自动故障转移到副本,影响最小。主分片和副本分片总是放置在不同的节点上,以确保高可用性。
  • 集群Redis数据库 - 存储在数据库中的数据被分割成多个分片。分片的数量可以由用户定义。各种性能优化算法定义了分片在集群中的位置。在集群的生命周期内,这些算法可能会在节点之间迁移分片。
  • 集群化且高可用的Redis数据库 - 集群数据库中的每个主分片都有一个副本分片,如果主分片发生故障,可以实现故障转移。

Proxy

每个节点包括一个零延迟、多线程的代理(用低级C语言编写),它掩盖了底层系统的复杂性。该代理负责代表Redis客户端将Redis操作转发到数据库分片。

代理简化了集群操作,从应用程序或Redis客户端的角度来看,通过启用标准Redis客户端的使用。零延迟代理建立在直通架构之上,并采用各种优化方法。例如,为了帮助确保高吞吐量和低延迟性能,代理可能会使用指令流水线,即使客户端没有指示这样做。

数据库端点

每个数据库都由一个数据库端点提供服务,该端点是代理的一部分并由代理管理。该端点负责将Redis操作转发到特定的数据库分片。

如果主分片失败并且副本分片被提升为主分片,主端点将更新为指向新的主分片。

如果主端点失败,副本端点将被提升为新的主端点,并更新为指向主分片。

同样地,如果主分片和主端点都失败,那么副本分片和副本端点都会被提升为新的主分片和主端点。

分片及其端点不必位于集群中的同一节点内。

在具有多个数据库分片的集群数据库中,只有一个主端点充当所有主分片的主端点,根据需要将Redis操作转发到所有分片。

集群管理器

集群管理器负责监督所有与节点管理相关的任务,而主节点中的集群管理器则负责处理所有与集群相关的任务。

集群管理器的设计方式与Redis操作完全解耦。这使得RS能够以更快、更准确的方式对故障事件做出反应,例如,节点故障事件会触发所有托管在故障节点上的主端点和主分片的大规模故障转移操作。

此外,这种架构保证了每个Redis分片仅在无共享架构中处理Redis命令,从而保持了每个Redis进程固有的高吞吐量和低延迟。最后,这种架构保证了集群管理器本身的任何更改都不会影响Redis的操作。

集群管理器的一些主要功能包括:

  • 决定分片创建的位置
  • 决定何时迁移分片以及迁移到何处
  • 监控数据库大小
  • 监控所有节点上的数据库和端点
  • 运行数据库分片过程
  • 运行数据库的配置和取消配置过程
  • 收集操作统计信息
  • 执行许可证和订阅限制
RATE THIS PAGE
Back to top ↑