View a markdown version of this page

복제본에 읽기 배포(클러스터 모드 비활성화됨) - Amazon ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

복제본에 읽기 배포(클러스터 모드 비활성화됨)

복제본이 있는 클러스터 모드 비활성화 클러스터의 경우 Lettuce's를 ReadFrom 설정과 StaticMasterReplicaTopologyProvider 함께 사용하여 쓰기를 프라이머리 노드로 보내고 복제본 간에 읽기를 배포할 수 있습니다. 이렇게 하면 기본에서 읽기를 오프로드하여 읽기 처리량이 향상됩니다.

쓰기에는 기본 엔드포인트를 사용하고 읽기에는 리더 엔드포인트를 사용합니다. 리더 엔드포인트는 사용 가능한 복제본 간에 연결을 자동으로 로드 밸런싱합니다.

// Primary endpoint for writes, reader endpoint for read distribution RedisURI primaryURI = RedisURI.Builder.redis("primary-endpoint.cache.amazonaws.com") .withPort(6379).withSsl(true).build(); RedisURI readerURI = RedisURI.Builder.redis("reader-endpoint.cache.amazonaws.com") .withPort(6379).withSsl(true).build(); RedisClient redisClient = RedisClient.create(clientResources); redisClient.setOptions(clientOptions); // Open a primary-replica connection using the StaticMasterReplicaTopologyProvider StatefulRedisMasterReplicaConnection<String, String> connection = MasterReplica.connect(redisClient, StringCodec.UTF8, Arrays.asList(primaryURI, readerURI)); // Direct reads to replicas, writes always go to the primary connection.setReadFrom(ReadFrom.REPLICA_PREFERRED);

다음 ReadFrom 옵션을 사용할 수 있습니다.

  • REPLICA_PREFERRED - 사용 가능한 경우 복제본에서 읽고 기본으로 돌아갑니다(대부분의 사용 사례에 권장).

  • REPLICA - 복제본에서만 읽습니다. 사용 가능한 복제본이 없는 경우 실패합니다.

  • PRIMARY_PREFERRED - 기본 읽기에서 복제본으로 돌아갑니다.

  • ANY_REPLICA - 복제본 노드에서 읽습니다.

  • PRIMARY - 프라이머리 노드에서만 읽습니다. 강력한 일관성이 필요한 경우를 사용합니다.

참고

복제는 비동기식이므로 복제본에서 읽은 데이터는 약간 오래된 것일 수 있습니다. 애플리케이션에 강력한 일관성이 필요한 경우 ReadFrom.PRIMARY 또는를 사용합니다ReadFrom.PRIMARY_PREFERRED.