Redis Cluster vs Twemproxy - ДВИЖЕННЫЕ ответы - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу использовать Redis для конкретного случая использования. Я не уверен, что нужно использовать Redis Cluster или Twemproxy + Sentinel.

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

Существуют различные проблемы с Twem, такие как добавленный переход, может увеличить общее время выполнения, проблема с добавлением новых узлов или, если он выталкивает некоторые узлы, он не сможет обслуживать запросы для ключей, присутствующих на этом узле , Сильная поддержка головной боли, как при наличии часовых для моих экземпляров Redis и механизма для HA самого себя.

Может кто-нибудь подсказать мне, стоит ли мне идти с Twem или Cluster? Я думаю о том, чтобы пойти с Twem, поскольку я не буду идти туда и сюда в случае ответов MOVED. Но я скептически отношусь к этому, учитывая вышеупомянутые проблемы.

P.S. Я планирую использовать клиент Jedis для Redis (если это поможет).

1 Ответ

0 голосов
/ 01 ноября 2018

Прежде всего, я не знаком с Twemproxy, поэтому я буду говорить только о ваших проблемах с Redis Cluster.

Клиент Redis может получить полное сопоставление узлов слота, то есть расположение ключей, из Redis Cluster. Он может кэшировать сопоставление на стороне клиента и отправляет запрос на нужный узел. Таким образом, большую часть времени он не будет перенаправлен, то есть получит сообщение MOVED .

Однако, если вы добавите / удалите узел или перенастроите набор данных, клиент получит сообщение MOVED , поскольку он по-прежнему использует старое отображение. В этом случае клиент может обновить свой локальный кеш, и любые последующие запросы будут отправлены на правильный узел, то есть сообщение MOVED больше не будет.

Достойная клиентская библиотека может использовать вышеуказанную оптимизацию, чтобы сделать ее более эффективной. Так что, если ваша клиентская библиотека имеет эту оптимизацию, вам не нужно беспокоиться о штрафе MOVED .

...