Saat melakukan migrasi deployment Kafka yang dikelola sendiri ke ApsaraMQ for Kafka atau menjalankan pengujian integrasi, membuat ulang ratusan topik secara manual tidak praktis. Fitur pembuatan topik otomatis memungkinkan ApsaraMQ for Kafka membuat topik secara langsung ketika produsen mengirim pesan ke topik yang belum ada, sehingga Anda dapat fokus memvalidasi migrasi atau pengujian alih-alih membuat topik satu per satu.
Terdapat dua pendekatan untuk pembuatan topik:
| Approach | Kapan digunakan | Trade-off |
|---|---|---|
| Manual creation (direkomendasikan untuk production) | Beban kerja production | Kontrol penuh atas jumlah partisi, storage engine, dan penamaan. Mendukung fine-grained access control dan auditing resource. |
| Automatic creation | Migrasi ke cloud, pengujian | Penyiapan lebih cepat, tetapi topik yang dibuat secara otomatis menggunakan konfigurasi default. Tidak mendukung fine-grained access control atau auditing. |
Untuk membuat topik secara manual, gunakan Konsol ApsaraMQ for Kafka atau API CreateTopic.
Instans yang didukung
Instans ApsaraMQ for Kafka Anda harus memenuhi kedua persyaratan berikut:
| Item | Persyaratan |
|---|---|
| Status | Running |
| Versi | Versi mayor V2.2.0 atau lebih baru, versi minor terbaru |
Untuk memeriksa nilai-nilai tersebut, buka halaman Instance Details di Konsol ApsaraMQ for Kafka dan lihat bagian Basic Information.
Setelah Anda mengaktifkan fitur daftar kontrol akses (ACL) pada instans Edisi Profesional, mengirim pesan tanpa menentukan topik yang sudah ada tidak akan memicu pembuatan topik otomatis. Buat topik tersebut secara eksplisit sebagai gantinya.
Aktifkan pembuatan topik otomatis
Masuk ke Konsol ApsaraMQ for Kafka. Pada halaman Overview, pilih wilayah di bagian Resource Distribution.
Pada halaman Instances, klik nama instans target.
Pada halaman Instances, klik nama instans Anda.
Di bagian Configuration Information pada halaman Instance Details, aktifkan Automatic Topic Creation.
Setelah sakelar tersebut diaktifkan, mengirim pesan ke topik yang belum ada pada instans Edisi Standar akan secara otomatis membuat topik tersebut.
Aturan penamaan topik
Nama topik yang dibuat otomatis harus memenuhi semua persyaratan berikut:
| Aturan | Detail |
|---|---|
| Panjang | 3 hingga 64 karakter |
| Karakter yang diizinkan | Huruf, angka, tanda hubung (-), dan garis bawah (_) |
| Konten | Minimal satu huruf atau angka |
Pesan yang dikirim ke nama topik yang melanggar aturan ini tidak akan memicu pembuatan topik.
Nonaktifkan pembuatan topik otomatis setelah migrasi atau pengujian
Setelah siklus migrasi atau pengujian selesai, nonaktifkan Automatic Topic Creation di bagian Configuration Information pada halaman Instance Details. Mengelola topik melalui konsol atau API mencegah risiko yang dijelaskan dalam Mengapa tidak menggunakannya di produksi?.
Risiko produksi
Mengapa tidak menggunakannya di produksi?
Kami menyarankan agar Anda tidak mengaktifkan fitur pembuatan topik otomatis di lingkungan produksi. Jika tetap diaktifkan di lingkungan produksi, jangan menggunakannya dalam aktivitas produksi utama. Pembuatan topik otomatis membawa risiko berikut:
| Risiko | Deskripsi |
|---|---|
| Tidak ada kontrol akses detail halus | Produsen mana pun dapat membuat topik secara implisit, melewati kontrol izin dan audit resource. |
| Penyebaran Sumber Daya | Kesalahan pengetikan atau klien yang salah konfigurasi diam-diam membuat topik yang tidak diinginkan, menghabiskan kuota partisi dan topik. |
| Kegagalan diam-diam | Topik tetap bisa gagal dibuat meskipun fitur pembuatan otomatis diaktifkan. Di lingkungan produksi, kegagalan ini dapat mengganggu aplikasi Anda tanpa peringatan. Lihat Pemecahan masalah kegagalan pembuatan otomatis. |
Kapan menggunakan pembuatan topik otomatis
Gunakan fitur ini hanya selama migrasi cloud atau pengujian. Contohnya:
Migrasi cloud. Memindahkan deployment Kafka yang dikelola sendiri atau lintas-cloud ke ApsaraMQ for Kafka, di mana membuat ulang ratusan topik secara manual tidak praktis. Lihat Migrasi instans yang dikelola sendiri atau lintas-cloud ke instans ApsaraMQ for Kafka.
Pengujian integrasi. Menjalankan pengujian di mana framework pengujian membuat topik secara dinamis.
Pemecahan masalah kegagalan pembuatan otomatis
Jika sejumlah kecil topik gagal, buatlah secara manual di Konsol ApsaraMQ for Kafka atau dengan memanggil API CreateTopic.
Jika sejumlah besar topik gagal, periksa log aplikasi Anda dan tinjau penyebab umum berikut:
| Penyebab | Detail |
|---|---|
| Nama topik tidak valid | Nama topik tidak mengikuti aturan penamaan. Misalnya, panjangnya kurang dari 3 karakter, lebih dari 64, atau berisi karakter yang tidak didukung. |
| Kuota tidak mencukupi | Instans telah mencapai batas partisi atau topiknya. Hapus topik yang ada atau tingkatkan kuota sebelum membuat lebih banyak. |
| Mesin penyimpanan salah | Topik menentukan mesin penyimpanan yang tidak kompatibel dengan konfigurasi instans. |
| ACL diaktifkan | Pada instans Edisi Profesional dengan ACL diaktifkan, pembuatan otomatis diblokir. Buat topik tersebut secara eksplisit sebagai gantinya. |
| Masalah infrastruktur | Jitter jaringan, peningkatan broker, peningkatan atau maintenance konsol, atau kegagalan instans Elastic Compute Service (ECS) dapat menyebabkan permintaan pembuatan timeout. |
| Konflik nama | Jika sistem mencoba membuat topik dengan nama yang sudah ada, data kedua topik tersebut dapat saling tercampur. Konflik ini jarang terdeteksi secara otomatis dan dapat menyebabkan kerugian yang tidak dapat dipulihkan. |
| Latensi pembuatan | Membuat topik secara otomatis membutuhkan waktu jauh lebih lama daripada mengirim ke topik yang sudah ada. Penundaan ini dapat menyebabkan timeout sementara di aplikasi Anda. |
Informasi terkait
Migrasi instans yang dikelola sendiri atau lintas-cloud ke instans ApsaraMQ for Kafka
Langkah 3: Buat resource (pembuatan topik manual di konsol)