Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagaimana segmen log disalin ke penyimpanan berjenjang untuk topik MSK Amazon
Saat Anda mengaktifkan penyimpanan berjenjang untuk topik baru atau yang sudah ada, Apache Kafka menyalin segmen log tertutup dari penyimpanan utama ke penyimpanan berjenjang.
-
Apache Kafka hanya menyalin segmen log tertutup. Ini menyalin semua pesan dalam segmen log ke penyimpanan berjenjang.
-
Segmen aktif tidak memenuhi syarat untuk tiering. Ukuran segmen log (segment.bytes) atau waktu roll segmen (segment.ms) mengontrol tingkat penutupan segmen, dan tingkat Apache Kafka kemudian menyalinnya ke penyimpanan berjenjang.
Pengaturan retensi untuk topik dengan penyimpanan berjenjang diaktifkan berbeda dari pengaturan untuk topik tanpa penyimpanan berjenjang diaktifkan. Aturan berikut mengontrol penyimpanan pesan dalam topik dengan penyimpanan berjenjang diaktifkan:
-
Anda menentukan retensi di Apache Kafka dengan dua pengaturan: log.retention.ms (waktu) dan log.retention.bytes (ukuran). Pengaturan ini menentukan total durasi dan ukuran data yang dipertahankan Apache Kafka di cluster. Apakah Anda mengaktifkan mode penyimpanan berjenjang atau tidak, Anda mengatur konfigurasi ini di tingkat cluster. Anda dapat mengganti pengaturan di tingkat topik dengan konfigurasi topik.
Saat Anda mengaktifkan penyimpanan berjenjang, Anda juga dapat menentukan berapa lama tingkat penyimpanan berkinerja tinggi utama menyimpan data. Misalnya, jika topik memiliki pengaturan retensi keseluruhan (log.retention.ms) 7 hari dan retensi lokal (local.retention.ms) 12 jam, maka penyimpanan utama klaster menyimpan data hanya selama 12 jam pertama. Tingkat penyimpanan berbiaya rendah mempertahankan data selama 7 hari penuh.
-
Pengaturan retensi yang biasa berlaku untuk log lengkap. Ini termasuk bagian berjenjang dan utamanya.
-
Setelan local.retention.ms atau local.retention.bytes mengontrol retensi pesan di penyimpanan utama. Apache Kafka menyalin segmen log tertutup ke penyimpanan berjenjang segera setelah ditutup (berdasarkan segment.bytes atau segment.ms), terlepas dari pengaturan retensi lokal. Setelah segmen disalin ke penyimpanan berjenjang, mereka tetap berada di penyimpanan utama hingga ambang batas local.retention.ms atau local.retention.bytes tercapai. Pada saat itu, data dihapus dari penyimpanan primer tetapi tetap tersedia dalam penyimpanan berjenjang. Ini memungkinkan Anda menyimpan data terbaru pada penyimpanan primer berkinerja tinggi untuk akses cepat sementara data lama disajikan dari penyimpanan berjenjang berbiaya rendah.
-
Ketika Apache Kafka menyalin pesan di segmen log ke penyimpanan berjenjang, itu akan menghapus pesan dari cluster berdasarkan pengaturan retention.ms atau retention.bytes.
Contoh skenario penyimpanan berjenjang MSK Amazon
Skenario ini menggambarkan bagaimana topik yang ada yang memiliki pesan di penyimpanan utama berperilaku saat penyimpanan berjenjang diaktifkan. Anda mengaktifkan penyimpanan berjenjang pada topik ini saat Anda menyetel remote.storage.enable ke. true Dalam contoh ini, retention.ms diatur ke 5 hari dan local.retention.ms diatur ke 2 hari. Berikut ini adalah urutan peristiwa ketika segmen kedaluwarsa.
Time T0 - Sebelum Anda mengaktifkan penyimpanan berjenjang.
Sebelum Anda mengaktifkan penyimpanan berjenjang untuk topik ini, ada dua segmen log. Salah satu segmen aktif untuk partisi topik yang ada 0.
Waktu T1 (< 2 hari) - Penyimpanan berjenjang diaktifkan. Segmen 0 disalin ke penyimpanan berjenjang.
Setelah Anda mengaktifkan penyimpanan berjenjang untuk topik ini, Apache Kafka menyalin segmen log tertutup 0 ke penyimpanan berjenjang segera setelah ditutup. Segmen ditutup berdasarkan setelan segment.bytes atau segment.ms, bukan berdasarkan pengaturan retensi. Apache Kafka menyimpan salinannya di penyimpanan utama juga. Segmen aktif 1 belum memenuhi syarat untuk menyalin ke penyimpanan berjenjang karena masih aktif dan belum ditutup. Dalam timeline ini, Amazon MSK belum menerapkan pengaturan retensi apa pun untuk pesan apa pun di segmen 0 dan segmen 1. (local.retention. bytes/ms, retention.ms/bytes)
Waktu T2 - Retensi lokal berlaku.
Setelah 2 hari, ambang retensi lokal tercapai untuk segmen 0. Pengaturan local.retention.ms sebagai 2 hari menentukan ini. Segmen 0 sekarang dihapus dari penyimpanan utama, tetapi tetap tersedia dalam penyimpanan berjenjang. Perhatikan bahwa segmen 0 telah disalin ke penyimpanan berjenjang di Time T1 saat ditutup, bukan pada Time T2 saat retensi lokal kedaluwarsa. Segmen aktif 1 belum memenuhi syarat untuk dihapus atau memenuhi syarat untuk menyalin ke penyimpanan berjenjang karena masih aktif.
Waktu T3 - Retensi keseluruhan berlaku.
Setelah 5 hari, pengaturan retensi mulai berlaku, dan Kafka menghapus segmen log 0 dan pesan terkait dari penyimpanan berjenjang. Segmen 1 belum memenuhi syarat untuk kedaluwarsa atau memenuhi syarat untuk menyalin ke penyimpanan berjenjang karena aktif. Segmen 1 belum ditutup, sehingga tidak memenuhi syarat untuk roll segmen.