복붙노트

[REDIS] 어떻게 StackExchange.Redis 여러 엔드 포인트와 연결을 사용합니까?

REDIS

어떻게 StackExchange.Redis 여러 엔드 포인트와 연결을 사용합니까?

StackExchange.Redis 기본 문서에 설명 된대로 여러 레디 스 서버에 연결할 수 있으며, StackExchange.Redis 자동으로 마스터 / 슬레이브 설정을 결정합니다. 관련 부분을 인용 :

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("server1:6379,server2:6379");

나는 마스터가 새로운 노예가 될 새 마스터하고, 이전 마스터가되기 위해 옛 노예의 원인, 조금 아래로 갈 것이다 있도록 장애 조치를 트리거하는 테스트를 수행 하였다. 나는 이러한 변화에도 불구하고, StackExchange.Redis 쓰기 작업이 실패하는 원인이 옛 주인에 명령을 보내는 계속 것으로 나타났습니다.

위의 질문 :

또한 각 연결에 대해, StackExchange.Redis은 가입의 일종 중 하나는 두 개의 물리적 연결을 여는 것으로 나타났습니다. 정확히 사용이 무엇입니까? 그것은 센티넬 인스턴스에 의해 사용되어 있습니까?

해결법

  1. ==============================

    1.그것은 기본적으로 "마스터를 선호한다"로 "서버"매개 변수를 존중 (해당 서버에서 (특히 정의 된 복제 구성) 마스터인지를 결정하기 위해, 직접 트래픽을 여러 가지를 사용하는이 어떤 일이 발생한다 그러나 항상) 마스터에 쓰기 작업을 전송한다.

    그것은 기본적으로 "마스터를 선호한다"로 "서버"매개 변수를 존중 (해당 서버에서 (특히 정의 된 복제 구성) 마스터인지를 결정하기 위해, 직접 트래픽을 여러 가지를 사용하는이 어떤 일이 발생한다 그러나 항상) 마스터에 쓰기 작업을 전송한다.

    A는 (I 정확한 텍스트를 기억할 수없는) 오류가 수신 될 때 "읽기 전용 슬레이브에 쓸 수없는"경우, 구성을 다시 설정하려고하며,이를 존중 자동으로 전환해야한다. 불행하게도, 라이브러리가 시간이 전방을 감지 할 수 있도록 구성 변경을 브로드 캐스트하지 않는 레디 스.

    당신이 변경 마스터 라이브러리 방법을 사용하는 경우, 즉시 자동으로 그 변화를 감지하는 술집 / 하위를 이용할 수 있습니다.

    두 번째 연결 재 : 술집 / 하위이 될 것입니다; 이 라이브러리 별 구성 방송을 수신하려고 기본적으로는, 미리 이것을 회전합니다.

  2. from https://stackoverflow.com/questions/29247616/how-does-stackexchange-redis-use-multiple-endpoints-and-connections by cc-by-sa and MIT license