View a markdown version of this page

Distribution des lectures aux répliques (mode cluster désactivé) - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Distribution des lectures aux répliques (mode cluster désactivé)

Pour les clusters désactivés en mode cluster avec des répliques, vous pouvez utiliser Lettuce StaticMasterReplicaTopologyProvider avec le ReadFrom paramètre pour diriger les écritures vers le nœud principal et répartir les lectures entre les répliques. Cela améliore le débit de lecture en déchargeant les lectures du primaire.

Utilisez le point de terminaison principal pour les écritures et le point de terminaison du lecteur pour les lectures. Le terminal du lecteur équilibre automatiquement la charge des connexions entre les répliques disponibles.

// 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);

Les ReadFrom options suivantes sont disponibles :

  • REPLICA_PREFERRED— Lit à partir des répliques lorsqu'elles sont disponibles et revient à la version principale (recommandé pour la plupart des cas d'utilisation).

  • REPLICA— Lit uniquement à partir de répliques. Échoue si aucune réplique n'est disponible.

  • PRIMARY_PREFERRED— Lit depuis le primaire, revient aux répliques.

  • ANY_REPLICA— Lit depuis n'importe quel nœud de réplique.

  • PRIMARY— Lit uniquement à partir du nœud principal. À utiliser lorsqu'une forte consistance est requise.

Note

Les données lues à partir des répliques peuvent être légèrement périmées car la réplication est asynchrone. Si votre application nécessite une forte cohérence, utilisez ReadFrom.PRIMARY ouReadFrom.PRIMARY_PREFERRED.