Apa itu penyeimbangan beban?
Penyimbang beban adalah metode mendistribusikan lalu lintas jaringan secara merata di seluruh kumpulan sumber daya yang mendukung aplikasi. Aplikasi modern harus memproses jutaan pengguna secara bersamaan dan mengembalikan teks, video, gambar, dan data lainnya yang benar kepada setiap pengguna dengan cara yang cepat dan andal. Untuk menangani volume lalu lintas yang tinggi, sebagian besar aplikasi memiliki banyak server sumber daya dengan data duplikat di antaranya. Penyeimbang beban adalah perangkat yang berada di antara pengguna dan grup server serta bertindak sebagai fasilitator yang tidak terlihat, memastikan bahwa semua server sumber daya digunakan secara merata.
Apa manfaat penyeimbang beban?
Penyeimbangan beban mengarahkan dan mengontrol lalu lintas internet antara server aplikasi dan pengunjung atau klien mereka. Akibatnya, ini meningkatkan ketersediaan aplikasi, skalabilitas, keamanan, dan performa.
Ketersediaan aplikasi
Kegagalan atau pemeliharaan server dapat meningkatkan waktu henti aplikasi, sehingga aplikasi Anda tidak tersedia bagi pengunjung. Penyeimbang beban meningkatkan toleransi kesalahan sistem Anda dengan secara otomatis mendeteksi masalah server dan mengarahkan lalu lintas klien ke server yang tersedia. Anda dapat menggunakan penyeimbangan beban untuk mempermudah tugas-tugas ini:
- Menjalankan pemeliharaan atau peningkatan server aplikasi tanpa waktu henti aplikasi
- Menyediakan pemulihan bencana otomatis ke situs cadangan
- Melakukan pemeriksaan kondisi dan mencegah masalah yang dapat menyebabkan waktu henti
Skalabilitas aplikasi
Anda dapat menggunakan penyeimbang beban untuk mengarahkan lalu lintas jaringan secara cerdas di antara beberapa server. Aplikasi Anda dapat menangani ribuan permintaan klien karena penyeimbangan beban melakukan hal berikut:
- Mencegah kemacetan lalu lintas di salah satu server
- Memprediksi lalu lintas aplikasi sehingga Anda dapat menambah atau menghapus server yang berbeda, jika diperlukan
- Menambahkan redundansi ke sistem Anda sehingga Anda dapat menskalakan dengan percaya diri
Keamanan aplikasi
Penyeimbang beban dilengkapi dengan fitur keamanan bawaan untuk menambahkan lapisan keamanan lain ke aplikasi internet Anda. Mereka adalah alat yang berguna untuk menangani serangan penolakan layanan terdistribusi, di mana penyerang membanjiri server aplikasi dengan jutaan permintaan bersamaan yang menyebabkan kegagalan server. Penyeimbang beban juga dapat melakukan hal berikut:
- Pantau lalu lintas dan blokir konten berbahaya
- Secara otomatis mengalihkan lalu lintas serangan ke beberapa server backend untuk meminimalkan dampak
- Rute lalu lintas melalui sekelompok firewall jaringan untuk keamanan tambahan
Performa aplikasi
Penyeimbang beban meningkatkan performa aplikasi dengan meningkatkan waktu respons dan mengurangi latensi jaringan. Mereka melakukan beberapa tugas penting seperti berikut:
- Mendistribusikan beban secara merata antarserver untuk meningkatkan performa aplikasi
- Mengarahkan permintaan klien ke server yang lebih dekat secara geografis untuk mengurangi latensi
- Memastikan keandalan dan performa sumber daya komputasi fisik dan virtual
Bagaimana cara kerja penyeimbangan beban?
Perusahaan biasanya memiliki aplikasi mereka berjalan di beberapa server. Pengaturan server seperti itu disebut gugus server. Permintaan pengguna ke aplikasi terlebih dahulu masuk ke penyeimbang beban. Penyeimbang beban kemudian merutekan setiap permintaan ke satu server di gugus server paling cocok untuk menangani permintaan.
Penyeimbangan beban seperti pekerjaan yang dilakukan oleh manajer di restoran. Pertimbangkan restoran dengan lima pelayan. Jika pelanggan diizinkan untuk memilih pelayan mereka, satu atau dua pelayan bisa kelebihan beban pekerjaan sementara yang lain menganggur. Untuk menghindari skenario ini, manajer restoran menugaskan pelanggan ke pelayan tertentu yang paling cocok untuk melayani mereka.
Apa itu algoritme penyeimbangan beban?
Algoritme penyeimbangan beban adalah seperangkat aturan yang diikuti oleh penyeimbang beban untuk menentukan server terbaik untuk setiap permintaan klien yang berbeda. Algoritme penyeimbangan beban terbagi dalam dua kategori utama.
Penyeimbangan beban statis
Algoritme penyeimbangan beban statis mengikuti aturan tetap dan independen dari status server saat ini. Berikut ini adalah contoh penyeimbangan beban statis.
Metode Round-robin
Server memiliki alamat IP yang memberi tahu klien di mana harus mengirim permintaan. Alamat IP adalah angka panjang yang sulit diingat. Untuk membuatnya mudah, Sistem Penamaan Domain (Domain Name System) memetakan nama situs web ke server. Ketika Anda memasukkan thinkwithwp.com ke browser Anda, permintaan pertama masuk ke server nama kami, yang mengembalikan alamat IP kami ke browser Anda.
Dalam metode round-robin, server nama otoritatif melakukan penyeimbangan beban dan bukan perangkat keras atau perangkat lunak khusus. Server nama mengembalikan alamat IP dari server yang berbeda di gugus server secara bergiliran atau secara round-robin.
Metode round-robin tertimbang
Dalam penyeimbangan beban round-robin tertimbang, Anda dapat menetapkan bobot yang berbeda ke setiap server berdasarkan prioritas atau kapasitasnya. Server dengan bobot yang lebih tinggi akan menerima lebih banyak lalu lintas aplikasi yang masuk dari server nama.
Metode hash IP
Dalam metode hash IP, penyeimbang beban melakukan perhitungan matematis, yang disebut hashing, pada alamat IP klien. Ini mengubah alamat IP klien ke nomor, yang kemudian dipetakan ke server individu.
Penyeimbangan beban dinamis
Algoritme penyeimbangan beban dinamis memeriksa status server saat ini sebelum mendistribusikan lalu lintas. Berikut ini adalah beberapa contoh algoritme penyeimbangan beban dinamis.
Metode koneksi paling sedikit
Koneksi adalah saluran komunikasi terbuka antara klien dan server. Ketika klien mengirimkan permintaan pertama ke server, mereka mengautentikasi dan membuat koneksi aktif antara satu sama lain. Dalam metode koneksi paling sedikit, penyeimbang beban memeriksa server mana yang memiliki koneksi aktif paling sedikit dan mengirimkan lalu lintas ke server tersebut. Metode ini mengasumsikan bahwa semua koneksi memerlukan daya pemrosesan yang sama untuk semua server.
Metode koneksi terkecil tertimbang
Algoritme koneksi terkecil tertimbang berasumsi bahwa beberapa server dapat menangani koneksi yang lebih aktif daripada yang lain. Oleh karena itu, Anda dapat menetapkan bobot atau kapasitas yang berbeda ke setiap server, dan penyeimbang beban mengirimkan permintaan klien baru ke server dengan koneksi paling sedikit berdasarkan kapasitas.
Metode waktu respons paling sedikit
Waktu respons adalah total waktu yang dibutuhkan server untuk memproses permintaan yang masuk dan mengirim respons. Metode waktu respons paling sedikit menggabungkan waktu respons server dan koneksi aktif untuk menentukan server terbaik. Penyeimbang beban menggunakan algoritme ini untuk memastikan layanan yang lebih cepat untuk semua pengguna.
Metode berbasis sumber daya
Dalam metode berbasis sumber daya, penyeimbang beban mendistribusikan lalu lintas dengan menganalisis beban server saat ini. Perangkat lunak khusus yang disebut agen berjalan pada setiap server dan menghitung penggunaan sumber daya server, seperti kapasitas komputasi dan memori. Kemudian, penyeimbang beban memeriksa agen untuk sumber daya gratis yang cukup sebelum mendistribusikan lalu lintas ke server itu.
Apa saja jenis penyeimbangan beban?
Kita dapat mengklasifikasikan penyeimbangan beban ke dalam tiga kategori utama tergantung apa yang diperiksa penyeimbang beban dalam permintaan klien untuk mengarahkan lalu lintas.
Penyeimbangan beban aplikasi
Aplikasi modern yang kompleks memiliki beberapa gugus server dengan beberapa server khusus untuk satu fungsi aplikasi. Penyeimbang beban aplikasi melihat konten permintaan, seperti header HTTP atau ID sesi SSL, untuk mengarahkan lalu lintas.
Misalnya, aplikasi e-commerce memiliki direktori produk, keranjang belanja, dan fungsi pembayaran. Penyeimbang beban aplikasi mengirimkan permintaan untuk menjelajahi produk ke server yang berisi gambar dan video tetapi tidak perlu mempertahankan koneksi terbuka. Sebagai perbandingan, ia mengirimkan permintaan keranjang belanja ke server yang dapat mempertahankan banyak koneksi klien dan menyimpan data keranjang untuk waktu yang lama.
Penyeimbangan beban jaringan
Penyeimbang beban jaringan memeriksa alamat IP dan informasi jaringan lainnya untuk mengarahkan lalu lintas secara optimal. Mereka melacak sumber lalu lintas aplikasi dan dapat menetapkan alamat IP statis ke beberapa server. Penyeimbang beban jaringan menggunakan algoritme penyeimbangan beban statis dan dinamis yang dijelaskan sebelumnya untuk menyeimbangkan beban server.
Penyeimbangan beban server global
Penyeimbangan beban server global terjadi di beberapa server yang didistribusikan secara geografis. Misalnya, perusahaan dapat memiliki server di beberapa pusat data, di berbagai negara, dan di penyedia cloud pihak ketiga di seluruh dunia. Dalam hal ini, penyeimbang beban lokal mengelola beban aplikasi dalam suatu wilayah atau zona. Mereka mencoba mengarahkan lalu lintas ke tujuan server yang secara geografis lebih dekat dengan klien. Mereka mungkin mengarahkan lalu lintas ke server di luar zona geografis klien hanya jika terjadi kegagalan server.
Penyeimbangan beban DNS
Dalam penyeimbangan beban DNS, Anda mengonfigurasi domain untuk merutekan permintaan jaringan di seluruh kumpulan sumber daya di domain Anda. Domain dapat sesuai dengan situs web, sistem surat, server cetak, atau layanan lain yang dapat diakses melalui internet. Penyeimbangan beban DNS sangat membantu untuk menjaga ketersediaan aplikasi dan menyeimbangkan lalu lintas jaringan di kumpulan sumber daya yang didistribusikan secara global.
Apa saja jenis teknologi penyeimbangan beban?
Penyeimbang beban adalah salah satu dari dua jenis: penyeimbang beban perangkat keras dan penyeimbang beban perangkat lunak.
Penyeimbang beban perangkat keras
Penyeimbang beban berbasis perangkat keras adalah alat perangkat keras yang dapat memproses dan mengarahkan lalu lintas gigabita dengan aman ke ratusan server berbeda. Anda dapat menyimpannya di pusat data Anda dan menggunakan virtualisasi untuk membuat beberapa penyeimbang beban digital atau virtual yang dapat Anda kelola secara terpusat.
Penyeimbang beban perangkat lunak
Penyeimbang beban berbasis perangkat lunak adalah aplikasi yang melakukan semua fungsi penyeimbangan beban. Anda dapat menginstalnya di server apa pun atau mengaksesnya sebagai layanan pihak ketiga yang dikelola sepenuhnya.
Perbandingan penyeimbang perangkat keras dengan penyeimbang beban perangkat lunak
Penyeimbang beban perangkat keras memerlukan investasi awal, konfigurasi, dan pemeliharaan berkelanjutan. Anda mungkin juga tidak menggunakannya untuk kapasitas penuh, terutama jika Anda membeli satu hanya untuk menangani lonjakan lalu lintas waktu puncak. Jika volume lalu lintas meningkat tiba-tiba melebihi kapasitasnya saat ini, ini akan memengaruhi pengguna hingga Anda dapat membeli dan mengatur penyeimbang beban lain.
Sebaliknya, penyeimbang beban berbasis perangkat lunak jauh lebih fleksibel. Mereka dapat meningkatkan atau menurunkan skala dengan mudah dan lebih kompatibel dengan lingkungan komputasi cloud modern. Mereka juga lebih murah untuk disiapkan, dikelola, dan digunakan dari waktu ke waktu.
Bagaimana AWS dapat membantu penyeimbangan beban?
Elastic Load Balancing (ELB) adalah layanan penyeimbangan beban yang dikelola sepenuhnya yang secara otomatis mendistribusikan lalu lintas aplikasi masuk ke beberapa target dan peralatan virtual di seluruh AWS dan sumber daya on-premise. Anda dapat menggunakannya untuk menskalakan aplikasi modern tanpa konfigurasi kompleks atau gateway API. Anda dapat menggunakan ELB untuk menyiapkan empat jenis penyeimbang beban perangkat lunak.
-
Penyeimbang Beban Aplikasi merutekan lalu lintas untuk permintaan berbasis HTTP.
-
Penyeimbang Beban Jaringan merutekan lalu lintas berdasarkan alamat IP. Ini sangat ideal untuk menyeimbangkan permintaan berbasis TCP dan User Datagram Protocol (UDP).
-
Penyeimbang Beban Gateway mengarahkan lalu lintas ke peralatan virtual pihak ketiga. Ini sangat ideal untuk memasukkan alat pihak ketiga, seperti firewall jaringan, ke dalam lalu lintas jaringan Anda dengan cara yang terukur dan mudah dikelola.
-
Penyeimbang Beban Klasik merutekan lalu lintas ke aplikasi di jaringan Amazon EC2-Classic—satu jaringan datar yang Anda bagikan dengan pelanggan lain.
Anda dapat memilih penyeimbang beban berdasarkan kebutuhan Anda. Misalnya, Terminix, merek pengendalian hama global, menggunakan Penyeimbang Beban Gateway untuk menangani throughput 300% lebih banyak. Second Spectrum, perusahaan yang menyediakan teknologi pelacakan berbasis kecerdasan buatan untuk siaran olahraga, menggunakan Pengontrol Penyeimbang Beban AWS untuk mengurangi biaya hosting hingga 90%. Code.org, organisasi nonprofit yang khusus untuk memperluas akses ke ilmu komputer di sekolah, menggunakan Penyeimbang Beban Aplikasi untuk menangani lonjakan lalu lintas 400% secara efisien selama acara pengodean online.
Mulai menggunakan penyeimbangan beban dengan membuat akun AWS hari ini!