Tentang Faktor Replikasi dan Tingkat Konsisten Cassandra

Edge untuk Private Cloud v. 4.17.01

Tentang faktor replikasi Cassandra

Cassandra menyimpan replika data di beberapa node untuk memastikan keandalan dan fault tolerance. Strategi replikasi untuk setiap keyspace Edge menentukan node tempat replika ditempatkan.

Jumlah total replika untuk keyspace di seluruh cluster Cassandra disebut sebagai faktor replikasi keyspace. Dengan faktor replikasi satu, hanya ada satu salinan dari setiap baris di gugus Cassandra. Faktor replikasi dua berarti ada dua salinan dari setiap baris, dengan setiap salinan berada di node yang berbeda. Semua replika sama pentingnya; tidak ada replika utama atau master.

Dalam sistem produksi dengan tiga node Cassandra atau lebih di setiap pusat data, faktor replikasi default untuk keyspace Edge adalah tiga. Sebagai aturan umum, faktor replikasi tidak boleh melebihi jumlah node Cassandra dalam cluster.

Gunakan prosedur berikut untuk melihat skema Cassandra, yang menunjukkan faktor replikasi untuk setiap keyspace Edge:

  1. Login ke node Cassandra.
  2. Jalankan perintah berikut:
    > /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(nama host -i) <<< "show schema;"

    Tempat $(nama host -i) ditetapkan ke alamat IP node Cassandra. Atau, Anda dapat mengganti $(nama host -i) dengan alamat IP node.

Untuk setiap keyspace, Anda akan melihat output dalam bentuk:

create keyspace kms
  with placement_strategy = 'NetworkTopologyStrategy'
  and strategy_options = {dc-1 : 3}
  and durable_writes = true;

Anda dapat melihat bahwa untuk pusat data 1, dc-1, faktor replikasi default untuk keyspace kms adalah tiga untuk penginstalan dengan tiga node Cassandra.

Jika Anda menambahkan node Cassandra lain ke cluster, faktor replikasi default tidak akan terpengaruh.

Misalnya, jika menambah jumlah node Cassandra menjadi enam, tetapi membiarkan faktor replikasi berjumlah tiga, Anda tidak memastikan bahwa semua node Cassandra memiliki salinan semua data. Jika node turun, faktor replikasi yang lebih tinggi berarti kemungkinan yang lebih tinggi bahwa data pada node tersebut ada di salah satu node yang tersisa. Kelemahan dari faktor replikasi yang lebih tinggi adalah peningkatan latensi pada penulisan data.

Tentang tingkat konsistensi Cassandra

Tingkat konsistensi Cassandra didefinisikan sebagai jumlah minimum node Cassandra yang harus mengonfirmasi operasi baca atau tulis agar operasi dapat dianggap berhasil. Tingkat konsistensi yang berbeda dapat ditetapkan ke spasi tombol Edge yang berbeda.

Saat terhubung ke Cassandra untuk operasi baca dan tulis, node Message Processor dan Server Pengelolaan biasanya menggunakan nilai Cassandra LOCAL_QUORUM untuk menentukan tingkat konsistensi untuk keyspace. Namun, beberapa keyspace ditentukan untuk menggunakan tingkat konsistensi satu.

Penghitungan nilai LOCAL_QUORUM untuk pusat data adalah:

LOCAL_QUORUM = (replication_factor/2) + 1 

Seperti yang dijelaskan di atas, faktor replikasi default untuk lingkungan produksi Edge dengan tiga node Cassandra adalah tiga. Oleh karena itu, nilai default LOCAL_QUORUM = (3/2) +1 = 2 (nilai dibulatkan ke bawah menjadi bilangan bulat).

Dengan LOCAL_QUORUM = 2, setidaknya dua dari tiga node Cassandra di pusat data harus merespons operasi baca/tulis agar operasi berhasil. Untuk klaster Cassandra dengan tiga node, klaster tersebut dapat menoleransi satu node yang nonaktif per pusat data.

Dengan menentukan tingkat konsistensi sebagai LOCAL_QUORUM, Edge menghindari latensi yang diperlukan dengan memvalidasi operasi di beberapa pusat data. Jika keyspace menggunakan nilai QUORUM Cassandra sebagai tingkat konsistensi, operasi baca/tulis harus divalidasi di semua pusat data.

Untuk melihat tingkat konsistensi yang digunakan oleh node Pemroses Pesan Edge atau Server Pengelolaan:

  1. Login ke node Message Processor.
  2. Ubah ke direktori /opt/apigee/edge-message-processor/conf:
    > cd /opt/apigee/edge-message-processor/conf
  3. Untuk konsistensi penulisan:
    > grep -ri "write.continuitylevel" *
  4. Untuk konsistensi pembacaan:
    > grep -ri "read.continuitylevel" *
  5. Login ke node Server Pengelolaan.
  6. Ubah ke direktori /opt/apigee/edge-management-server/conf:
    > cd /opt/apigee/edge-management-server/conf
  7. Ulangi langkah 3 dan 4.

Jika Anda menambahkan node Cassandra tambahan ke cluster, tingkat konsistensi tidak akan terpengaruh.