Redis Cluster vs Twemproxy - ДВИЖЕННЫЕ ответы
Я хочу использовать Redis для конкретного случая использования. Я не уверен, что нужно использовать Redis Cluster или Twemproxy + Sentinel.
Я знаю, что кластер победитель в любой день. Я просто скептически отношусь к ответам MOVED. В случае ответов MOVED клиент подключится к другому узлу, а в случае перераспределения ему может понадобиться подключить еще один узел. Но в случае Twem он знает, где находятся данные, поэтому он никогда не получит ответ MOVED.
Существуют различные проблемы с Twem, например, добавленный переход, может увеличить общее время оборота, проблема с добавлением новых узлов или, если он выталкивает некоторые узлы, он не сможет обслуживать запросы для ключей, присутствующих на этом узле. Сильная поддержка головной боли, как при наличии часовых для моих экземпляров Redis и механизма для HA самого себя.
Может кто-нибудь предложить мне, я должен пойти с Twem или Cluster? Я думаю о том, чтобы пойти с Twem, поскольку я не буду идти туда и сюда в случае ответов MOVED. Но я скептически отношусь к этому, учитывая вышеупомянутые проблемы.
PS Я планирую использовать клиент Jedis для Redis (если это поможет).
1 ответ
Прежде всего, я не знаком с Twemproxy, поэтому я буду говорить только о ваших проблемах с Redis Cluster.
Клиент Redis может получить полное сопоставление узлов слотов, то есть расположение ключей, из Redis Cluster. Он может кэшировать сопоставление на стороне клиента и отправляет запрос нужному узлу. Поэтому большую часть времени он не будет перенаправлен, то есть получит сообщение MOVED.
Однако, если вы добавляете / удаляете узел или повторно переносите набор данных, клиент получит сообщение MOVED, так как он все еще использует старое отображение. В этом случае клиент может обновить свой локальный кеш, и любые последующие запросы будут отправлены на правильный узел, то есть больше нет сообщений MOVED.
Достойная клиентская библиотека может принять вышеупомянутую оптимизацию, чтобы сделать ее более эффективной. Так что, если ваша клиентская библиотека имеет эту оптимизацию, вам не нужно беспокоиться о штрафе MOVED.