tocdepth

2

Шардирование в Managed Redis®

Шардирование — это метод распределения данных между несколькими узлами. В Redis® шардирование используется для горизонтального масштабирования проектов и реализуется с помощью топологии Redis Cluster.

Redis Cluster — это метод управления кластером Redis®, при котором данные автоматически шардируются между несколькими узлами.

Redis Cluster состоит из шардов, каждый из которых содержит мастер-узел и набор реплик. Количество шардов и реплик задается при создании кластера. Минимальное количество шардов — три. Максимум можно добавить до восьми шардов и до восьми реплик на шард.

Вместо согласованного хеширования Redis Cluster использует другой формат шардирования, при котором каждый ключ концептуально является частью так называемого хеш-слота (hash slot). Redis Cluster содержит 16384 хеш-слота, которые распределяются между узлами кластера. Это позволяет легко добавлять и удалять узлы. Например, если в кластер из трех узлов A, B и C вы хотите добавить узел D, нужно переместить часть хеш-слотов с узлов A, B и C на узел D. А если вы хотите удалить узел A, нужно переместить хеш-слоты с узла A на остальные узлы. После этого можно удалить пустой узел A из кластера.

Перемещение хеш-слотов с одного узла на другой не влияет на выполнение операций и не требует остановки работы кластера.

Если в кластере из трех мастер-узлов A, B, C и их реплик A1, B1, C1 выйдет из строя мастер-узел B, реплика B1 возьмет на себя роль мастера. В этом случае кластер продолжит функционировать. Однако, если одновременно откажут B и B1, весь Redis Cluster выйдет из строя, потому что хеш-слоты, которые располагались на узле B, будут недоступны.

Redis Cluster не гарантирует полной сохранности данных. При определенных обстоятельствах могут быть утеряны подтвержденные операции записи.

Подробнее о Redis Cluster читайте в официальной документации.

Запустили Evolution free tier
для Dev & Test
Получить