View a markdown version of this page

Mendistribusikan bacaan ke replika (mode cluster dinonaktifkan) - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mendistribusikan bacaan ke replika (mode cluster dinonaktifkan)

Untuk cluster yang dinonaktifkan mode cluster dengan replika, Anda dapat menggunakan Lettuce StaticMasterReplicaTopologyProvider dengan ReadFrom pengaturan untuk mengarahkan penulisan ke node utama dan mendistribusikan pembacaan di seluruh replika. Ini meningkatkan throughput baca dengan membongkar bacaan dari primer.

Gunakan titik akhir utama untuk menulis dan titik akhir pembaca untuk membaca. Titik akhir pembaca secara otomatis memuat saldo koneksi di seluruh replika yang tersedia.

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

ReadFromOpsi berikut tersedia:

  • REPLICA_PREFERRED— Membaca dari replika bila tersedia dan kembali ke primer (direkomendasikan untuk sebagian besar kasus penggunaan).

  • REPLICA— Membaca hanya dari replika. Gagal jika tidak ada replika yang tersedia.

  • PRIMARY_PREFERRED— Membaca dari primer, kembali ke replika.

  • ANY_REPLICA— Membaca dari simpul replika apa pun.

  • PRIMARY— Membaca hanya dari simpul utama. Gunakan ketika konsistensi yang kuat diperlukan.

catatan

Data yang dibaca dari replika mungkin sedikit basi karena replikasi tidak sinkron. Jika aplikasi Anda membutuhkan konsistensi yang kuat, gunakan ReadFrom.PRIMARY atauReadFrom.PRIMARY_PREFERRED.