복붙노트

[REDIS] 실패와 자동화 된 페일 오버의 레디 스 / Jedis없이 단일 지점

REDIS

실패와 자동화 된 페일 오버의 레디 스 / Jedis없이 단일 지점

1 주 3 개 서버없이 샤딩 2 개 슬레이브 간단한 상황. 단일 장애 지점이없고 자동으로 단일 서버가 마스터 또는 슬레이브 (자동 장애 복구)가 될 추락 처리됩니다 자바와 Jedis와 입증 된 솔루션이있다. 예를 들면 주인을 홍보하고 손실 된 데이터없이 실패 후 다시 설정하라는.

그것이 해결 된 문제가해야하지만 난 그것을 할 수있는 방법의 단지 높은 수준의 설명 거기에 코드를 찾을 수없는 것처럼 날 것으로 보인다.

누가 실제로이 덮여 및 생산 작업을했다?

해결법

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

    1.당신은 그것을 달성하기 위해 레디 스 센티넬에 시도를 제공 할 수 있습니다 :

    당신은 그것을 달성하기 위해 레디 스 센티넬에 시도를 제공 할 수 있습니다 :

    ... 또는 사육사와 Jedis_failover 같은 외부 솔루션을 사용합니다 :

    JedisPool pool = new JedisPoolBuilder()
        .withFailoverConfiguration(
            "localhost:2838", // ZooKeeper cluster URL
            Arrays.asList( // List of redis servers
                new HostConfiguration("localhost", 7000), 
                new HostConfiguration("localhost", 7001))) 
        .build();
    
    pool.withJedis(new JedisFunction() {
        @Override
        public void execute(final JedisActions jedis) throws Exception {
            jedis.ping();
        }
    });
    

    사육사 + 레디 스의 프리젠 테이션을 참조하십시오.

    [업데이트] ... 또는 Jedis + 센티넬과 순수 자바 솔루션은 핸들 레디 스 센티넬 이벤트, SentinelBasedJedisPoolWrapper를 참조하는 래퍼를 사용하는 것입니다.

  2. ==============================

    2.현재 (자식)에서 Jedis 2.4.2을 사용하여, 나는 단지 레디 스 또는 감시를 기반으로 장애 조치 할 수있는 방법을 찾을 수 didnt한다. 나는 방법이 될 것입니다 바랍니다. 나는 지금 사육사 옵션을 탐구하는 생각입니다. 클러스터의 성능과 심지어 안정성의 관점에서 잘 작동하지만 아직 베타 단계에 레디 스.

    현재 (자식)에서 Jedis 2.4.2을 사용하여, 나는 단지 레디 스 또는 감시를 기반으로 장애 조치 할 수있는 방법을 찾을 수 didnt한다. 나는 방법이 될 것입니다 바랍니다. 나는 지금 사육사 옵션을 탐구하는 생각입니다. 클러스터의 성능과 심지어 안정성의 관점에서 잘 작동하지만 아직 베타 단계에 레디 스.

    사람이있는 경우에 더 나은 통찰력은 우리가 알려 주시기 바랍니다.

  3. from https://stackoverflow.com/questions/16318877/redis-jedis-no-single-point-of-failure-and-automated-failover by cc-by-sa and MIT license