Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara kerja Amazon MSK Replicator
Untuk memulai dengan MSK Replicator, Anda perlu membuat Replicator baru di Region AWS cluster target Anda. MSKReplicator secara otomatis menyalin semua data dari cluster di AWS Region utama yang disebut sumber ke cluster di wilayah tujuan yang disebut target. Cluster sumber dan target dapat berada di AWS Wilayah yang sama atau berbeda. Anda perlu membuat cluster target jika belum ada.
Saat Anda membuat Replicator, MSK Replicator menyebarkan semua sumber daya yang diperlukan di AWS Region klaster target untuk mengoptimalkan latensi replikasi data. Latensi replikasi bervariasi berdasarkan banyak faktor, termasuk jarak jaringan antara AWS Wilayah MSK cluster Anda, kapasitas throughput cluster sumber dan target Anda, dan jumlah partisi pada cluster sumber dan target Anda. MSKReplicator secara otomatis menskalakan sumber daya yang mendasarinya sehingga Anda dapat mereplikasi data sesuai permintaan tanpa harus memantau atau menskalakan kapasitas.
Replikasi data
Secara default, MSK Replicator menyalin semua data secara asinkron dari offset terbaru di partisi topik cluster sumber ke cluster target. Jika pengaturan “Deteksi dan salin topik baru” diaktifkan, MSK Replicator secara otomatis mendeteksi dan menyalin topik atau partisi topik baru ke cluster target. Namun, mungkin diperlukan waktu hingga 30 detik bagi Replicator untuk mendeteksi dan membuat topik baru atau partisi topik pada cluster target. Setiap pesan yang dihasilkan ke topik sumber sebelum topik dibuat di kluster target tidak akan direplikasi. Atau, Anda dapat mengonfigurasi Replicator selama pembuatan untuk memulai replikasi dari offset paling awal di partisi topik cluster sumber jika Anda ingin mereplikasi pesan yang ada pada topik Anda ke kluster target.
MSKReplicator tidak menyimpan data Anda. Data dikonsumsi dari cluster sumber Anda, di-buffer dalam memori dan ditulis ke cluster target. Buffer dihapus secara otomatis ketika data berhasil ditulis atau gagal setelah mencoba ulang. Semua komunikasi dan data antara MSK Replicator dan cluster Anda selalu dienkripsi dalam perjalanan. Semua API panggilan MSK Replicator seperti DescribeClusterV2
CreateTopic
,, DescribeTopicDynamicConfiguration
ditangkap. AWS CloudTrail Log MSK broker Anda juga akan mencerminkan hal yang sama.
MSKReplicator membuat topik di cluster target dengan Replicator Factor 3. Jika perlu, Anda dapat memodifikasi faktor replikasi langsung pada cluster target.
Replikasi metadata
MSKReplicator juga mendukung penyalinan metadata dari cluster sumber ke cluster target. Metadata mencakup konfigurasi topik, Access Control Lists (ACLs), dan offset grup konsumen. Seperti replikasi data, replikasi metadata juga terjadi secara asinkron. Untuk kinerja yang lebih baik, MSK Replicator memprioritaskan replikasi data daripada replikasi metadata.
Tabel berikut adalah daftar Access Control Lists (ACLs) yang menyalin MSK Replicator.
Operasi | Penelitian | APIsdiizinkan |
---|---|---|
Mengubah |
Topik |
CreatePartitions |
AlterConfigs |
Topik |
AlterConfigs |
Buat |
Topik |
CreateTopics, Metadata |
Hapus |
Topik |
DeleteRecords, DeleteTopics |
Jelaskan |
Topik |
ListOffsets, Metadata,, OffsetFetch OffsetForLeaderEpoch |
DescribeConfigs |
Topik |
DescribeConfigs |
Baca |
Topik |
Ambil,, OffsetCommit TxnOffsetCommit |
Tulis (hanya menyangkal) |
Topik |
Menghasilkan, AddPartitionsToTxn |
MSKJenis LITERAL pola salinan replikator ACLs hanya untuk jenis sumber daya Topik. PREFIXEDtipe pola ACLs dan jenis sumber daya lainnya tidak ACLs disalin. MSKReplicator juga tidak menghapus ACLs pada cluster target. Jika Anda menghapus ACL pada cluster sumber, Anda juga harus menghapus pada cluster target pada saat yang sama. Untuk detail lebih lanjut tentang ACLs sumber daya, pola, dan operasi Kafka, lihat https://kafka.apache.org/documentation/#security_authz_cli.
MSKReplikator hanya mereplikasi KafkaACLs, yang kontrol IAM aksesnya tidak digunakan. Jika klien Anda menggunakan kontrol IAM akses untuk membaca/menulis ke MSK cluster Anda, Anda perlu mengonfigurasi IAM kebijakan yang relevan pada kluster target Anda juga untuk failover yang mulus. Ini juga berlaku untuk konfigurasi replikasi nama topik Awalan dan Identik.
Sebagai bagian dari sinkronisasi offset grup konsumen, MSK Replicator mengoptimalkan untuk konsumen Anda di cluster sumber yang membaca dari posisi yang lebih dekat ke ujung aliran (akhir partisi topik). Jika grup konsumen Anda tertinggal di cluster sumber, Anda mungkin melihat lag yang lebih tinggi untuk kelompok konsumen pada target dibandingkan dengan sumbernya. Ini berarti setelah failover ke cluster target, konsumen Anda akan memproses ulang lebih banyak pesan duplikat. Untuk mengurangi lag ini, konsumen Anda di cluster sumber perlu mengejar ketinggalan dan mulai mengkonsumsi dari ujung aliran (akhir partisi topik). Saat konsumen Anda mengejar ketinggalan, MSK Replicator akan secara otomatis mengurangi lag.
Konfigurasi nama topik
MSKReplicator memiliki dua mode konfigurasi nama topik: Prefixed (default) atau replikasi nama topik identik.
Replikasi nama topik awalan
Secara default, MSK Replicator membuat topik baru di kluster target dengan awalan yang dibuat secara otomatis ditambahkan ke nama topik cluster sumber, seperti. <sourceKafkaClusterAlias>.topic
Ini untuk membedakan topik yang direplikasi dari yang lain di cluster target dan untuk menghindari replikasi melingkar data antar cluster.
Misalnya, MSK Replicator mereplikasi data dalam topik bernama “topic” dari cluster sumber ke topik baru di cluster target yang disebut < sourceKafkaCluster alias>.topic. Anda dapat menemukan awalan yang akan ditambahkan ke nama topik di kluster target di bawah bidang sourceKafkaClusterAlias menggunakan DescribeReplicator
API atau halaman detail Replicator di konsol. MSK Awalan di cluster target adalah < sourceKafkaCluster Alias>.
Untuk memastikan konsumen Anda dapat memulai ulang pemrosesan dengan andal dari klaster siaga, Anda perlu mengonfigurasi konsumen Anda untuk membaca data dari topik menggunakan operator wildcard. .*
Misalnya, konsumen Anda perlu mengkonsumsi menggunakan. *topic1
di kedua AWS wilayah tersebut. Contoh ini juga akan mencakup topik sepertifootopic1
, jadi sesuaikan operator wildcard sesuai dengan kebutuhan Anda.
Anda harus menggunakan MSK Replicator yang menambahkan awalan ketika Anda ingin menyimpan data replikator dalam topik terpisah di cluster target, seperti untuk pengaturan cluster aktif-aktif.
Replikasi nama topik yang identik
Sebagai alternatif dari pengaturan default, Amazon MSK Replicator memungkinkan Anda membuat Replicator dengan replikasi topik yang disetel ke replikasi nama topik identik (Simpan nama topik yang sama di konsol). Anda dapat membuat Replicator baru di AWS Region yang memiliki MSK cluster target Anda. Topik yang direplikasi dengan nama identik memungkinkan Anda menghindari konfigurasi ulang klien untuk membaca dari topik yang direplikasi.
Replikasi nama topik yang identik (Simpan nama topik yang sama di konsol) memiliki keuntungan sebagai berikut:
Memungkinkan Anda mempertahankan nama topik yang identik selama proses replikasi, sementara juga secara otomatis menghindari risiko loop replikasi tak terbatas.
Membuat pengaturan dan pengoperasian arsitektur streaming multi-cluster lebih sederhana, karena Anda dapat menghindari mengonfigurasi ulang klien untuk membaca dari topik yang direplikasi.
Untuk arsitektur cluster aktif-pasif, fungsi replikasi nama topik identik juga menyederhanakan proses failover, memungkinkan aplikasi untuk failover mulus ke cluster siaga tanpa memerlukan perubahan nama topik atau konfigurasi ulang klien.
Dapat digunakan untuk lebih mudah mengkonsolidasikan data dari beberapa MSK cluster ke dalam satu cluster untuk agregasi data atau analitik terpusat. Ini mengharuskan Anda untuk membuat Replikator terpisah untuk setiap cluster sumber dan cluster target yang sama.
Dapat merampingkan migrasi data dari satu MSK cluster ke cluster lainnya dengan mereplikasi data ke topik bernama identik di cluster target.
Amazon MSK Replicator menggunakan header Kafka untuk secara otomatis menghindari data direplikasi kembali ke topik asalnya, menghilangkan risiko siklus tak terbatas selama replikasi. Header adalah pasangan kunci-nilai yang dapat disertakan dengan kunci, nilai, dan stempel waktu di setiap pesan Kafka. MSKReplicator menyematkan pengidentifikasi untuk cluster sumber dan topik ke dalam header setiap catatan yang direplikasi. MSKReplicator menggunakan informasi header untuk menghindari loop replikasi tak terbatas. Anda harus memverifikasi bahwa klien Anda dapat membaca data yang direplikasi seperti yang diharapkan.