Instans ApsaraMQ for Kafka yang diterapkan di zona tunggal berisiko mengalami ketidaktersediaan layanan dan kehilangan data saat terjadi kegagalan tingkat zona. Untuk mengurangi risiko tersebut, Anda dapat memanfaatkan fitur integrasi ekosistem connector dari ApsaraMQ for Kafka guna mencadangkan pesan ke instans sekunder di wilayah berbeda. Saat terjadi kegagalan, alihkan lalu lintas ke instans sekunder dan pulihkan layanan dengan mereset offset.
Cara kerja
Arsitektur pemulihan bencana ini menggunakan dua instans ApsaraMQ for Kafka yang ditempatkan di wilayah berbeda:
Sebuah primary instance menerima dan melayani seluruh lalu lintas produksi.
Sebuah sink connector secara terus-menerus mencadangkan pesan dari primary instance ke secondary instance di wilayah lain.
Saat kegagalan tingkat zona mengganggu primary instance, klien mengalihkan titik akhirnya ke secondary instance.
Konsumen mereset offset mereka pada secondary instance dan melanjutkan pemrosesan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Dua instans ApsaraMQ for Kafka di wilayah berbeda
Konektivitas jaringan antara kedua wilayah melalui Cloud Enterprise Network (CEN)
(Direkomendasikan) Nama domain kustom untuk pengalihan lalu lintas berbasis CNAME
Pertimbangan utama
Terapkan primary instance dan secondary instance di wilayah berbeda untuk melindungi dari kegagalan tingkat wilayah.
Setelah failover, konsumen mereset offset pada secondary instance dan mungkin memproses ulang beberapa pesan. Terapkan message idempotence pada konsumen Anda untuk menangani konsumsi duplikat.
Gunakan Rekaman CNAME untuk memetakan nama domain kustom ke titik akhir instans utama. Jika terjadi kegagalan, perbarui target CNAME agar mengarah ke instans sekunder, sehingga lalu lintas dialihkan tanpa perlu memulai ulang aplikasi Anda.
Menyiapkan pemulihan bencana
Langkah 1: Buat sink connector
Buat sink connector ApsaraMQ for Kafka untuk mereplikasi pesan secara terus-menerus dari primary instance ke secondary instance.
Untuk petunjuknya, lihat Create ApsaraMQ for Kafka sink connectors.
Langkah 2: (Opsional) Tambahkan CNAME record
Untuk mengaktifkan pengalihan lalu lintas cepat tanpa me-restart aplikasi, tambahkan CNAME record yang memetakan nama domain kustom Anda ke nama domain primary instance.
Untuk petunjuknya, lihat CNAME record.
Langkah 3: Konfigurasikan titik akhir client
Pilih salah satu pendekatan berikut berdasarkan apakah Anda telah menyiapkan CNAME record:
Mode CNAME (direkomendasikan)
Arahkan klien Anda ke nama domain kustom yang memiliki CNAME record.
Saat terjadi kegagalan, perbarui target CNAME agar mengarah ke nama domain secondary instance. Lalu lintas akan beralih secara otomatis tanpa perlu me-restart aplikasi Anda.
Mode reguler
Arahkan klien Anda langsung ke titik akhir primary instance.
Saat terjadi kegagalan, perbarui konfigurasi klien ke titik akhir secondary instance, lalu restart aplikasi.
Untuk mengakses instans ApsaraMQ for Kafka lintas wilayah, hubungkan Virtual Private Cloud (VPC) di wilayah-wilayah tersebut melalui Cloud Enterprise Network (CEN). Untuk detailnya, lihat Connect VPCs in different regions.