Можно ли использовать конвейеризацию с кластером Redis? - PullRequest
0 голосов
/ 03 мая 2018

В настоящее время наша установка Redis включает в себя Jedis + sharding. Масштабирование вверх и вниз включает в себя добавление / удаление осколков вручную, что является большой оперативной работой. Мы также сильно зависимы от конвейерной обработки, поскольку выполняем много операций записи в секунду.

Следовательно, мы рассматриваем кластер Redis для автоматизации процесса шардинга. Тем не менее, одним из препятствий для нас является то, что Jedis не поддерживает конвейеризацию с кластером Redis: https://groups.google.com/forum/#!msg/redis-db/4I0ELYnf3bk/Lrctk0ULm6AJ

Нам известно о Codis, который поддерживает конвейерную обработку + автоматическое разбиение, но для его обслуживания требуется тяжелая операционная работа из-за его зависимости от Zookeeper. Это также форк Redis, поэтому он не может быть обновлен с последующими изменениями. Скорее всего, мы будем использовать его, если нет хороших решений для использования конвейеризации с официальной реализацией кластера Redis.

Просто интересно, возможна ли конвейеризация с официальным кластером Redis? Может быть, в виде альтернативного клиента Redis?

Ответы [ 2 ]

0 голосов
/ 22 июня 2018

Просто обновление. Мы решили использовать салат в качестве клиента Redis. В настоящее время он развернут в производство и отлично работает с кластерным режимом ElastiCache Redis. Основная идея заключается в том, что Lettuce обеспечивает автоматическую конвейеризацию команд через асинхронный ввод-вывод. Мы думаем, что это лучший подход, так как нам не нужно писать собственный код, чтобы обойти ограничение Jedis.

0 голосов
/ 04 мая 2018

Конвейер кластеров еще не поддерживается версией выпуска jedis, но есть вклад, ожидающий слияния, см. https://github.com/xetorthio/jedis/pull/1455.

Вы также можете написать свою собственную реализацию, ссылаясь на то, что основная идея - захватывать все команды, отправленные с конвейером, и воспроизводить их для перенаправления кластера, так как, когда все ключи принадлежат одному и тому же слоту, конвейер в кластере может работать хорошо.

...