Tentang Faktor Replikasi dan Tingkat Konsisten Cassandra

Edge for Private Cloud v. 4.17.09

Tentang faktor replikasi Cassandra

Cassandra menyimpan replika data di beberapa node untuk memastikan keandalan dan toleransi error. 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. Faktor replikasi satu berarti hanya ada satu salinan dari setiap baris di cluster Cassandra. Faktor replikasi dua berarti ada dua salinan 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 ruang kunci Edge adalah tiga. Sebagai aturan umum, faktor replikasi tidak boleh melebihi jumlah node Cassandra dalam cluster.

Gunakan prosedur berikut untuk melihat skema Cassandra, yang menampilkan faktor replikasi untuk setiap ruang kunci Edge:

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

    Dengan $(hostname -i) me-resolve ke alamat IP node Cassandra. Atau, Anda dapat mengganti $(hostname -i) dengan alamat IP node.

Untuk setiap ruang kunci, 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 ruang kunci kms adalah tiga untuk penginstalan dengan tiga node Cassandra.

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

Misalnya, jika Anda meningkatkan jumlah node Cassandra menjadi enam, tetapi membiarkan faktor replika tetap tiga, Anda tidak memastikan bahwa semua node Cassandra memiliki salinan semua data. Jika node menurun, faktor replikasi yang lebih tinggi berarti probabilitas data di node tersebut ada di salah satu node yang tersisa lebih tinggi. Kelemahan dari faktor replikasi yang lebih tinggi adalah peningkatan latensi pada operasi tulis data.

Tentang tingkat konsistensi Cassandra

Tingkat konsistensi Cassandra ditentukan sebagai jumlah minimum node Cassandra yang harus mengonfirmasi operasi baca atau tulis sebelum operasi dapat dianggap berhasil. Tingkat konsistensi yang berbeda dapat ditetapkan ke ruang kunci Edge yang berbeda.

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

Penghitungan nilai LOCAL_QUORUM untuk pusat data adalah:

LOCAL_QUORUM = (replication_factor/2) + 1 

Seperti 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 ke bilangan bulat).

Dengan LOCAL_QUORUM = 2, minimal dua dari tiga node Cassandra di pusat data harus merespons operasi baca/tulis agar operasi berhasil. Untuk cluster Cassandra tiga node, cluster tersebut dapat mentoleransi satu node yang tidak aktif per pusat data.

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

Untuk melihat tingkat konsistensi yang digunakan oleh node Edge Message Processor atau Management Server:

  1. Login ke node Pemroses Pesan.
  2. Beralihlah ke direktori /opt/apigee/edge-message-processor/conf:
    > cd /opt/apigee/edge-message-processor/conf
  3. Untuk konsistensi operasi tulis:
    > grep -ri "write.consistencylevel" *
  4. Untuk konsistensi operasi baca:
    > grep -ri "read.consistencylevel" *
  5. Login ke node Server Pengelolaan.
  6. Beralihlah 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.