As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Distribuindo leituras para réplicas (modo de cluster desativado)
Para clusters desativados no modo cluster com réplicas, você pode usar o Lettuce's StaticMasterReplicaTopologyProvider com a ReadFrom configuração para direcionar as gravações para o nó primário e distribuir as leituras entre as réplicas. Isso melhora a taxa de transferência de leitura ao descarregar as leituras do primário.
Use o endpoint primário para gravações e o endpoint do leitor para leituras. O endpoint do leitor balanceia automaticamente a carga das conexões entre as réplicas disponíveis.
// 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);
As seguintes ReadFrom opções estão disponíveis:
REPLICA_PREFERRED— Lê as réplicas quando disponíveis e volta para o primário (recomendado para a maioria dos casos de uso).REPLICA— Lê somente de réplicas. Falha se nenhuma réplica estiver disponível.PRIMARY_PREFERRED— Lê a partir do primário, volta para as réplicas.ANY_REPLICA— Lê de qualquer nó de réplica.PRIMARY— Lê somente do nó primário. Use quando for necessária uma consistência forte.
nota
Os dados lidos das réplicas podem estar um pouco obsoletos porque a replicação é assíncrona. Se seu aplicativo exigir uma consistência forte, use ReadFrom.PRIMARY ouReadFrom.PRIMARY_PREFERRED.