Katakanlah saya memiliki 2 IP untuk domain yang diberikan (round-robin DNS).
Jika salah satu IP menjadi tidak responsif, akankah klien mencoba untuk terhubung ke IP lainnya? atau mereka akan gagal membangun komunikasi dengan domain?
Katakanlah saya memiliki 2 IP untuk domain yang diberikan (round-robin DNS).
Jika salah satu IP menjadi tidak responsif, akankah klien mencoba untuk terhubung ke IP lainnya? atau mereka akan gagal membangun komunikasi dengan domain?
Jawaban:
DNS round robin bukan pengganti yang baik untuk load balancer. Server DNS akan terus membagikan IP dari simpul yang turun, sehingga beberapa pengguna Anda akan mendapatkan layanan Anda dan beberapa dari mereka tidak.
Ketika klien membuat kueri DNS, server DNS mengembalikan semua alamat IP yang terkait dengan nama itu. Keajaiban ini dilakukan oleh server DNS yang memutar urutan daftar itu untuk setiap permintaan. Namun, tergantung pada aplikasi untuk mengimplementasikan kemampuan "berjalan" melalui daftar sampai menemukan IP yang berfungsi. Dan sebagian besar aplikasi tidak melakukan itu.
Windows Telnet, anehnya, adalah salah satu aplikasi yang cukup pintar untuk menjalankan daftar tertaut dari IP yang dikembalikan. Anda dapat melihat perilaku ini sendiri jika Anda mencoba melakukan telnet ke google.com, misalnya. Anda akan melihat bahwa butuh waktu lama untuk akhirnya gagal. Itu karena google.com memiliki banyak alamat IP, dan klien telnet mencoba semuanya.
Menggunakan Load Balancer masih akan meninggalkan satu titik kegagalan. Jika penyeimbang beban Anda offline, situs web Anda turun.
Berlawanan dengan jawaban di atas, Sebagian besar klien HTTP sudah mendukung DO mencoba setiap alamat IP yang dikembalikan dari permintaan DNS sampai satu kembali dengan respons yang valid. Silakan lihat di sini:
http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/
Tampaknya penulis telah menguji browser berikut dan menemukan bahwa browser tersebut berfungsi dengan baik.
Chrome 11 pada Windows 7
Firefox 4.0 pada Windows 7
Internet Explorer 8 pada Windows 7
Opera 11 pada Windows 7
Safari 5 pada Windows 7
Internet Explorer 7 pada Windows XP (setelah penundaan nyata)
Firefox 4.0 pada Windows XP (setelah penundaan nyata)
browser asli Android di Android 2.3.3
browser asli iPhone di iOS 4.3.3
Menggunakan round robin tidak akan melakukan semua fitur server load balancing, hal-hal seperti dapat memonitor waktu respons dari kedua server, dan merutekan lebih banyak lalu lintas ke satu, jika yang lain tidak merespons secepat yang seharusnya). Untuk ketahanan, saya akan mengatakan Round Robin DNS mungkin merupakan solusi yang lebih baik karena tidak ada lagi titik kegagalan.
Sementara round robin DNS biasanya tidak memiliki umpan balik ke status server yang menyediakan alamat untuknya, mungkin membantu jika Anda kemudian memiliki semacam penyeimbang beban (termasuk trik berbasis router) untuk masing-masing alamat tersebut.
Ada trik untuk memperbarui DNS ketika ada yang gagal; jika ini terjadi, DNS round-robin dengan TTL pendek yang sesuai dapat menjadi penyeimbang beban semu.