Redis项目提供了与Redis相关的分区的全面参考。请参阅“:如何在多个Redis实例之间分割数据”。

    Envoy Redis的特点

    • Redis协议编解码
    • Ketama发行
    • 详细的命令统计
    • 主动和被动健康检查

    未来计划增强特性

    • 补充时间统计
    • 断路
    • 复制
    • 内置重试
    • 跟踪
    • 哈希标记

    有关过滤器配置的详细信息,请参阅配置参考。

    如果需要进行主动健康检查,则应该对群集使用Redis健康检查配置。

    如果需要被动健康检查,还要配置。

    为了进行被动健康检查,将超时,命令超时和连接关闭映射连接到5xx。来自Redis的所有其他响应被视为成功。

    在协议级别,支持管道。不是MULTI(事务块)。尽可能使用流水线来获得最佳性能。

    有关每个命令用法的详细信息,请参阅官方的Redis命令参考

    如果Redis抛出一个错误,我们把这个错误作为响应传递给这个命令。 Envoy将错误数据类型的Redis响应视为正常响应,并将其传递给调用者。

    Envoy也可以产生自己的错误来回应客户。

    错误 含义
    no upstream host 哈希环负载均衡器在为Key选择的环位置上没有可用的主机。
    upstream failure 后端在超时期限内没有响应或关闭连接。
    invalid request 命令由于数据类型或长度而被命令拆分器的第一阶段拒绝。
    unsupported command 该命令不被Envoy识别,因此不能被服务,因为它不能被散列到后端服务器。
    finished with n errors 对响应进行求和的分段命令(例如,DEL)将返回接收到的错误的总数。
    upstream protocol error 碎片命令接收到意外的数据类型或后端以不符合Redis协议的响应进行响应。
    wrong number of arguments for command 特定的命令检查Envoy参数的数量是正确的。

    在MGET的情况下,无法提取单独Key所产生错误响应。例如,如果我们获取五个Keys和两个Keys的后端超时,我们会得到一个错误的响应代替每个值。