2016-02-01 1 views
0

Недавно я начал изучать Redis и смог сделать все, начиная с изучения аспекта в 32-битной Windows. Я разработчик .net и сделал кеширование, используя Redis, используя ServiceStack client в настройке веб-API. Я смог успешно запустить кластер Redis из 4 мастеров и 4 подчиненных, и мне было интересно, как я могу сделать эту работу совместно с клиентом ServiceStack.Клиент готовности Redis кластера

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

Я воссоздал упомянутый сценарий, используя интерфейс командной строки Redis, но когда я взял хозяина вниз, интерфейс просто переставал отвечать, как и во всем, что происходит только в черной дыре. Таким образом, по моему опыту, cli автоматически не выполняет отказоустойчивость в качестве клиента.

Я начал изучать StackExchange's client Редису, но все тот же вопрос.

Я использую дистрибутив Redis, предоставленный Microsoft для учебных целей, доступных в Github (Извините, не могу предоставить ссылку, поскольку я новичок здесь и не имею достаточных точек репутации).

ответ

0

Redis Sentinel - это дополнительные процессы Redis, которые контролируют работоспособность вашего Redis Master/Slaves и заботятся о выполнении автоматического отказоустойчивости, когда он обнаруживает, что ваш экземпляр Master не работает. Redis Config project обеспечивает быстрый способ настройки популярной конфигурации Redis Sentinel.

ServiceStack.Redis Client supports Redis Sentinel и реализует Recommended client Strategy, что позволяет ему автоматически восстанавливаться после отказа, попросив одного из Sentinels для следующего доступного адреса подключиться, возобновив операции с одним из доступных экземпляров.

Вы можете узнать больше о Redis Sentinel in the official Documentation.

+0

Спасибо, миф за ответ. Возможно, мое понимание зеленое на данный момент, но поскольку я намерен использовать Redis Cluster, я считаю, что я не должен использовать настройку Redis Sentinel. Я хочу использовать возможности автоматического масштабирования и репликации, которые мы получаем из коробки в Redis Cluster. Пожалуйста, простите меня, если я ошибаюсь в своем понимании. Я использовал ссылку для чтения в кластере против дозорного: https://fnordig.de/2015/06/01/redis-sentinel-and-redis-cluster/ – Tux

+0

@Tux, если вам нужно окутать, вы захотите использовать Redis Cluster, Redis Sentinel обеспечивает мониторинг, автоматический переход на другой ресурс и использует репликацию, уже встроенную в Redis. ServiceStack не поддерживает кластер, поэтому вам необходимо использовать StackExchange.Redis. – mythz

+0

@Tux также обратите внимание, что ServiceStack.Redis является коммерчески поддерживаемым продуктом с ограничениями для бесплатного использования (см. [Free-quotas] (https://servicestack.net/download#free-quotas)). – thepirat000