redis-cluster의 failover 거동

3370 단어 RedisRedis-cluster

배경


  • redis cluster의 failover에는 과반수의 master 투표가 필요하다
  • 실제로 확인해 보았다

  • 초기 상태




    - 3 master, 3 slave
    - redis 4.0.9

    slave를 1대 파괴



    이렇게 하면





    이런





    slave1 깨질 뿐. 마스터에 영향 없음

    master를 1대 파괴



    이렇게 하면





    이런





    복제 된 슬레이브가 승격. 1 분 정도 시간 지연 있음

    마스터 2대를 순차적으로 파괴한다



    이렇게 하면





    이렇게





    복제 된 슬레이브가 승격. 1 분 정도 시간 지연 있음

    master2대를 동시에 파괴



    이렇게 하면





    이렇게





    failover가 발생하지 않는 이유


  • slave 승격 규칙
  • 모든 마스터의 과반수 투표 필요

  • 1대씩 망가졌을 때
  • 1대째 망가졌을 때
  • 투표권을 가지고 있는 master는 2대. (master2, master3)
  • 모든 master 3 대 중, 과반수의 투표에 의해 failover가 발생

  • 두 번째 역시 동일

  • 2대 동시에 망가졌을 때
  • 투표권을 가지고 있는 master는 1대. (master3)
  • 투표 수가 과반수에 도달하지 않으므로 failover 발생하지 않고

  • 공식: htps : // / ぢ s. 이오 / 토피 cs / c ぅ s rs ぺ c #

  • 같은 계통의 master-slave를 파괴



    이렇게 하면





    이런





    결론



    다음과 같은 경우 앱에 영향이 있습니다.
    - 같은 계통의 master, slave가 죽는다
    - master가 2대 이하인 상태에서 master가 죽는다

    좋은 웹페이지 즐겨찾기