envoyproxy / envoyproxy/envoy

Change Redis cluster discovery to use CLUSTER_SHARDS API

Open
#36,975 3 comments 0 reactions 0 assignees View on GitHub
area/redis enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

*Title*: Change Redis cluster discovery to use CLUSTER_SHARDS API

*Description*:
Currently Envoy uses [CLUSTER_SLOTS](https://redis.io/docs/latest/commands/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](https://redis.io/docs/latest/commands/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](https://redis.io/docs/latest/commands/cluster-slots/) also recommends using CLUSTER_SHARDS over CLUSTER_SLOTS

[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.