View a markdown version of this page

リードをレプリカに配布する (クラスターモードが無効) - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

リードをレプリカに配布する (クラスターモードが無効)

レプリカを使用するクラスターモードが無効になっているクラスターの場合、 ReadFrom設定StaticMasterReplicaTopologyProviderで Lettuce の を使用してプライマリノードへの書き込みを指示し、レプリカ間で読み取りを分散できます。これにより、プライマリから読み取りをオフロードすることで、読み取りスループットが向上します。

書き込みにはプライマリエンドポイントを使用し、読み取りにはリーダーエンドポイントを使用します。リーダーエンドポイントは、使用可能なレプリカ間の接続を自動的に負荷分散します。

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