envoyproxy/envoy

Change Redis cluster discovery to use CLUSTER_SHARDS API

Open

#36,975 opened on Nov 4, 2024

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/redisenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Title: Change Redis cluster discovery to use CLUSTER_SHARDS API

Description: Currently Envoy uses CLUSTER_SLOTS to fetch cluster topology from Redis. CLUSTER_SLOTS is deprecated in Redis 7.0. It is slower and less efficient than the new API, CLUSTER_SHARDS. We observed CLUSTER_SHARDS payload size to be 10x smaller than the CLUSTER_SLOTS payload for big redis cluster with 12k shards.

Redis doc also recommends using CLUSTER_SHARDS over CLUSTER_SLOTS

[optional Relevant Links:]

Any extra documentation required to understand the issue.

Contributor guide