Menggunakan Layanan DNS untuk Peralihan Jaringan Layanan Secara Halus

Asumsikan nama domain layanan adalah example.domain, alamat IP server asli adalah A, karena migrasi server atau perubahan IP, alamat IP server baru adalah B, untuk memastikan pengguna tidak merasakan perubahan, peralihan layanan jaringan dapat dilakukan secara halus melalui layanan DNS.

  1. Status layanan asli, example.domain diresolusi ke alamat IP A
  2. Status transisi, example.domain diresolusi ke alamat IP A dan B
  3. Status layanan baru, example.domain diresolusi ke alamat IP B, hapus alamat IP A

Catatan: ketika pengguna mendapatkan dua alamat resolusi, klien akan memilih salah satu alamat untuk terhubung, saat koneksi gagal, akan mencoba alamat lain, untuk memastikan ketersediaan layanan.

Karena resolusi DNS memiliki cache, untuk memastikan peralihan yang halus, status transisi perlu dipertahankan untuk sementara waktu, untuk memastikan semua cache kedaluwarsa.

Di sini yang perlu saya migrasikan adalah layanan DNS, dapat mengatur DNS rewrite dalam status transisi untuk mempercepat proses migrasi.

Aturan penulisan ulang layanan A

Aturan penulisan ulang layanan B

Proses migrasi asli diperluas menjadi:

  1. Status layanan asli, example.domain diresolusi ke alamat IP A
  2. Status transisi, example.domain ditulis ulang ke A dan B dalam layanan dns A, ditulis ulang ke B dalam layanan dns B
  3. Status layanan baru, example.domain diresolusi ke alamat IP B, hapus alamat IP A

Ketika pengguna masih menggunakan layanan dns A, dapat mendapatkan dua alamat, ada probabilitas setengah untuk memilih layanan dns A.
Setengah probabilitas lainnya akan beralih ke layanan dns B, saat layanan dns B gagal, akan beralih kembali ke dns A. Saat layanan dns B tidak gagal, hanya akan mendapatkan satu alamat, sehingga pengguna akan tetap berada dalam layanan dns B.
Dengan cara ini kita dapat secara bertahap mengurangi konsumsi sumber daya layanan dns A, bukan langsung menghentikannya, untuk mencapai migrasi yang lebih halus.