Redis의 기본 복제

7375 단어 redisreplication
원본 게시물: https://koalatea.io/redis-replicate/

소개



이 기사에서는 Redis에서 복제하는 방법에 대해 간략하게 살펴보겠습니다. 프로덕션에서는 클러스터 또는 관리 인스턴스를 사용하려는 경우가 많습니다. 그러나 수동으로 복제하는 방법을 배우면 일부 임시 백업 또는 디버깅에 도움이 됩니다.

설정하기



이 기사에서는 docker와 docker compose를 사용할 것이므로 설치부터 시작하십시오.
  • 도커 설치: https://docs.docker.com/engine/install/
  • 도커 작성: https://docs.docker.com/compose/install/

  • 다음으로 docker-compose.yml라는 새 파일을 만듭니다.

    버전 및 서비스를 선언하려면 맨 위 줄에 다음을 추가하십시오.

    version: "3.2"
    services:
    


    경고: Redis는 여전히 이전 마스터 및 슬레이브 언어를 사용하지만 이는 이전 버전이므로 변경해야 합니다.

    이를 염두에 두고 redis라는 마스터(메인) 서비스를 추가해 보겠습니다. 통과하는 것 외에는 모든 것이 표준입니다REDIS_REPLICATION_MODE=master.

    redis:
        image: "redis:alpine"
        command: redis-server --requirepass some_pass
        ports:
         - "6379:6379"
        volumes:
          - $PWD/redis-data:/var/lib/redis
          - $PWD/redis.conf:/usr/local/etc/redis/redis.conf
        environment:
         - REDIS_REPLICATION_MODE=master
    


    다음으로 단일 슬레이브(작업자) 서버를 추가해 보겠습니다. 여기에서 로컬 매핑 포트를 6378 로 변경하고 복제 모드를 slave 로 설정합니다.

    redis2:
      image: "redis:alpine"
      command: redis-server --requirepass some_pass
      ports:
        - "6378:6379"
      volumes:
        - $PWD/redis-data:/var/lib/redis
        - $PWD/redis.conf:/usr/local/etc/redis/redis.conf
      environment:
        - REDIS_REPLICATION_MODE=slave
    


    전체 파일은 다음과 같습니다.

    version: "3.2"
    services:
     redis:
        image: "redis:alpine"
        command: redis-server --requirepass some_pass
        ports:
         - "6379:6379"
        volumes:
          - $PWD/redis-data:/var/lib/redis
          - $PWD/redis.conf:/usr/local/etc/redis/redis.conf
        environment:
         - REDIS_REPLICATION_MODE=master
    
     redis2:
        image: "redis:alpine"
        command: redis-server --requirepass some_pass
        ports:
         - "6378:6379"
        volumes:
          - $PWD/redis-data:/var/lib/redis
          - $PWD/redis.conf:/usr/local/etc/redis/redis.conf
        environment:
         - REDIS_REPLICATION_MODE=slave
    


    이제 docker-compose up를 사용하여 서비스를 시작합니다.

    Redis 서버에 연결



    다음으로 redis 서버에 연결해야 합니다. 이를 위해 오픈 소스 GUI를 사용합니다.
  • https://github.com/qishibo/AnotherRedisDesktopManager

  • "새 연결"을 클릭하고 다음과 같은 정보를 입력합니다. 연결 이름을 원하는 대로 변경할 수 있습니다. 이를 위해 이름을 "메인"으로 지정했습니다. 위의 yml 파일을 사용했다면 비밀번호는 some_pass여야 합니다.



    작업자에 대해 동일한 작업을 수행하되 포트를 6378로 변경하고 연결 이름을 변경합니다.

    서버 복제



    시작하려면 첫 번째 서버를 확장하고 새 키를 추가하십시오.





    이제 작업자 서버에 대한 연결을 열고 cli 버튼을 클릭하여 서버에 연결합니다.



    먼저 마스터 패스를 some_pass로 설정합니다(두 서버에 동일한 비밀번호를 사용했기 때문).

    config set masterauth some_pass
    


    그런 다음 replicaof 명령을 사용하여 마스터 서버를 가리킵니다.

    replicaof redis 6379
    


    새로 고침 아이콘을 클릭하면 마스터 서버 키가 복제된 것을 볼 수 있습니다. 마스터에 더 많은 키를 추가하면 작업자가 계속 복제합니다.



    복제를 중지하려면 다음을 사용할 수 있습니다.

    replicaof no one
    


    결론



    이것이 복제의 기본 사항입니다. 이는 테스트를 위해 일부 데이터를 빠르게 복사하려는 경우에 유용합니다. 탐색할 것이 훨씬 더 많지만 좋은 시작이 될 것입니다.

    좋은 웹페이지 즐겨찾기