Tentang Faktor Replikasi dan Tingkat Konsisten Cassandra

Edge for Private Cloud v. 4.17.01

Tentang faktor replikasi Cassandra

Cassandra menyimpan replika data di beberapa node untuk memastikan keandalan dan toleransi error. Strategi replikasi untuk setiap ruang kunci Edge menentukan node tempat replika ditempatkan.

Jumlah total replika untuk ruang kunci di seluruh cluster Cassandra disebut sebagai faktor replikasi ruang kunci. Faktor replikasi satu berarti hanya ada satu salinan dari setiap baris di cluster Cassandra. Faktor replikasi dua berarti ada dua salinan untuk setiap baris, di mana 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 menunjukkan faktor replikasi untuk setiap keyspace Edge:

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

    Ketika $(hostname -i) di-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 tidak aktif, faktor replikasi yang lebih tinggi berarti probabilitas 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 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 keyspace 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 tiga node Cassandra, cluster dapat menoleransi satu node yang tidak aktif 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 Cassandra QUORUM sebagai tingkat konsistensi, operasi baca/tulis harus divalidasi di semua pusat data.

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

  1. Login ke node Message Processor.
  2. Beralihlah ke direktori /opt/apigee/edge-message-processor/conf:
    > cd /opt/apigee/edge-message-processor/conf
  3. Untuk konsistensi penulisan:
    > 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.