Ketersediaan tinggi multi-situs

15

Kami memiliki aplikasi SaaS yang kami perlukan sangat tersedia. Kami sudah memiliki kluster failover Hyper-V Hyper-V yang mahal dan terawat dengan baik, tetapi hari ini datacenter tempat kami meng-host cluster itu memiliki pemadaman listrik lima jam yang membuat kami benar-benar offline. Jadi sekarang kita bertanya-tanya apakah pendekatan yang lebih baik mungkin menggunakan server di dua pusat data yang terpisah. Dengan asumsi kita mendapatkan semua replikasi file back-end dan replikasi data bekerja antara dua situs ini, kami bertanya-tanya bagaimana menangani perutean front-end - tidak heran bagaimana kita mendekati masalah, kita selalu berakhir dengan penyeimbang beban menjadi satu titik kegagalan.

Jadi pertanyaannya adalah ... bagaimana kita bisa mengatur load-balancing antara dua situs hosting sehingga load balancer bukan satu-satunya titik kegagalan? Apakah ada cara untuk menggunakan dua penyeimbang beban terpisah, satu di setiap situs? Haruskah kita mempertimbangkan DNS round-robin?

Mike
sumber

Jawaban:

14

Untuk melakukan ini dengan benar, Anda harus memiliki:

  • Dua contoh terpisah dalam dua pusat data (seperti yang telah Anda tentukan)
  • Sinkronisasi antara dua pusat data (seperti yang telah Anda tentukan)
  • Cara mengarahkan ulang klien dari satu ke yang lain jika terjadi kegagalan

Ada dua cara umum untuk melakukan ini. Satu sederhana, satu ... tidak.

DNS

Round-Robin DNS tidak sesuai dengan yang Anda inginkan, karena kemungkinan besar Anda ingin semua permintaan masuk ke DC primer, dan DC kedua hanya digunakan saat downtime yang pertama.

Apa yang dapat Anda lakukan adalah menetapkan TTL yang sangat rendah pada DNS Anda (katakanlah, 30 detik, atau 5 menit), yang berarti bahwa jika DC Anda turun, Anda hanya memperbarui DNS Anda dan dalam waktu 5 menit atau lebih, semua klien Anda akan menunjuk ke DC Anda yang lain.

Ini berarti bahwa karena dua DC Anda akan memiliki tata letak IP yang berbeda, Anda perlu menyesuaikan ini dalam pengaturan pusat data Anda.

BGP

Pada dasarnya, jika Anda mengajukan pertanyaan ini, maka ini di luar jangkauan Anda. Singkatnya, alamat IP Anda tetap sama, tetapi mereka "dipindahkan" dari satu pusat data ke yang lain. Ini melibatkan router mahal, rentang IP mahal, dan langganan mahal ke registri lokal Anda untuk nomor AS dan rentang IP.

Router BGP Anda berhenti mengiklankan Anda di pusat data utama Anda, dan mulai beriklan di pusat data sekunder Anda. Kemudian rute internet di sekitar pusat data offline dan mengirimkan lalu lintas ke DC baru Anda.


Jika Anda tervirtualisasi dengan ESXi dan vSphere, VMWare memiliki produk yang cukup bagus yang kami uji coba dulu bernama VMWare Site Recovery Manager , yang pada dasarnya melakukan segalanya untuk Anda. Itu membuat VM konfigurasi Anda dalam sinkronisasi dan kekuatan mereka di situs ke-2 ketika situs ke-1 offline. Ini adalah uang besar.

Mark Henderson
sumber
Bahkan dengan SRM, Anda masih perlu menyelesaikan replikasi dan beberapa jenis IP failover.
EEAA
Benar, meskipun esxi5 memang memiliki produk replikasi non-San baru. Saya belum melihat ke dalamnya.
Mark Henderson
Oh itu benar. Saya ingat pernah mendengar sesuatu tentang itu.
EEAA
1

Anda perlu menyeimbangkan beban dengan penyeimbang beban.

Anda dapat melakukan ini dengan round-robin DNS tetapi pendekatan itu memiliki banyak masalah. Anda tidak dapat mengontrol klien yang memasukkan entri cache lebih lama dari yang Anda inginkan dan Anda tidak bisa memaksa lalu lintas untuk pergi ke lokasi tertentu.

Anda juga dapat melakukan ini dengan Global Server Load Balancing (GSLB). Ini adalah cara yang lebih maju untuk memanfaatkan DNS untuk memberi Anda visibilitas ke banyak pusat data dari internet. Singkatnya, Anda mengatur beberapa mekanisme untuk membagi lalu lintas menjadi beberapa irisan dan menggunakan DNS untuk memilih sepotong. Kami menggunakan hash resolver DNS yang dikonfigurasi untuk melakukan pencarian untuk klien. Orang lain menggunakan geografi untuk merutekan ke pusat data "terdekat". Anda harus menambahkan beberapa mekanisme untuk menghapus IP dengan cepat dari GSLB jika ada satu titik kegagalan untuk pusat data atau cluster yang turun.

http://www.eukhost.com/web-hosting/kb/global-server-load-balancing/

Akhirnya, beberapa orang yang benar-benar mahir menangani masalah ini dengan DNS Anycast. Ini lagi mencoba memanfaatkan pendekatan pusat data "terdekat". Melakukan anycasting pada layanan Anda berarti Anda harus menghilangkan "status penuh". Ini mungkin terbukti sulit.

dmourati
sumber
Tampaknya pendekatan ini masih memiliki satu titik kegagalan, "Master Server" yang dijelaskan dalam tautan yang Anda berikan.
Mike