Load balancing adalah komponen key dari infrastruktur yang biasa digunakan untuk meningkatkan kinerja dan keandalan situs web, aplikasi, database dan layanan lainnya dengan mendistribusikan beban kerja ke beberapa server.
Infrastruktur web tanpa load balancing mungkin terlihat seperti berikut:
Dalam contoh ini, user terhubung langsung ke server web, di yourdomain.com. Jika server web tunggal ini macet, user tidak lagi dapat mengakses situs web. Selain itu, jika banyak pengguna mencoba mengakses server secara bersamaan dan tidak dapat menangani beban, mereka mungkin mengalami waktu yang lambat atau mungkin tidak dapat terhubung sama sekali.
Kegagalan ini bisa dikurangi dengan memasukkan Load balancer dan setidaknya satu server web tambahan di backend. Biasanya, semua server backend akan memasok konten yang identik sehingga pengguna menerima konten yang konsisten tanpa menanggapi server mana yang meresponsnya. Tanpa server yang meresponsnya.
Pada contoh di atas, user mengakses Load balancer, yang meneruskan permintaan pengguna ke server backend, yang kemudian merespons langsung permintaan user. Dalam skenario ini, titik kegagalan sekarang adalah Load balancer itu sendiri. Hal ini dapat dikurangi dengan memperkenalkan Load balancer kedua, tapi sebelum kita membahasnya, mari jelajahi bagaimana Load balancer bekerja.
Trik apa yang bisa dijalankan oleh Load Balancing?
Administrator Load balancer membuat peraturan penerusan untuk empat jenis traffic utama:
- HTTP – Standar balancing HTTP mengarahkan permintaan berdasarkan mekanisme HTTP standar. Load Balancer menetapkan header X-Forwarded-For, X-Forwarded-Proto, dan X-Forwarded-Port untuk memberi informasi tentang permintaan awal.
- HTTPS – fungsi balancing HTTPS sama dengan balancing HTTP, dengan penambahan enkripsi. Enkripsi ditangani dengan salah satu dari dua cara: baik dengan passthrough SSL yang menyimpan enkripsi sampai ke backend atau dengan penghentian SSL yang menempatkan beban dekripsi pada Load balancer namun mengirimkan traffic yang tidak dienkripsi ke bagian belakang.
- TCP – Untuk aplikasi yang tidak menggunakan HTTP atau HTTPS, TCP juga bisa diimbangi. Misalnya, traffic ke cluster database bisa tersebar di semua server.
- UDP – Baru-baru ini, beberapa balancers beban telah menambahkan dukungan untuk protokol internet core load balancing seperti DNS dan syslogd yang menggunakan UDP.
Aturan penerusan ini akan menentukan protokol dan port pada Load balancer itu sendiri dan memetakannya ke protokol dan port yang digunakan Load balancer untuk mengarahkan traffic ke backend.
No comments:
Post a Comment