Komponen Desain Sistem

 


Apa itu Load Balancing?
Load balancing adalah suatu cara yang dilakukan untuk mendistribusikan traffic atau lalu lintas jaringan ke beberapa server. Sehingga setiap server yang menjadi tujuan tidak akan mendapatkan beban berlebih.

Website yang populer biasanya memiliki tingkat kunjungan yang tinggi dalam satu satuan waktu. Apabila server mengalami kelebihan beban diluar dari kemampuannya, nantinya server tersebut bisa down sehingga website menjadi tidak bisa diakses. 

Untuk mengantisipasi kelebihan beban di server, maka salah satu alternatifnya adalah dilakukan setup Load Balancing.

Manfaat Load Balancing
Setelah memahami apa itu Load balancing, selanjutnya kami akan menjelaskan beberapa manfaat load balancing yang bisa Anda dapatkan.

  • Pendistribusian TrafficDengan Load Balancing, beban tiap server dapat dibuat merata. Sehingga dengan cara ini setiap server tidak akan mendapatkan beban berlebih. 
  • Mengurangi Downtime dan meningkatkan performaTraffic yang terdistribusi dengan baik, membuat website tetap bisa diakses dengan baik, walau terjadi lonjakan traffic.
  • Meningkatkan FleksibilitasAnda dapat melakukan pemeliharaan server, tanpa perlu khawatir website tidak bisa diakses. Server load balancing akan mendeteksi server yang menjadi tujuannya.

Apabila server tujuan terdeteksi tidak aktif, traffic akan dialihkan ke server lain yang tersedia. 

Jenis Load Balancing
Ada beberapa metode load balancing yang perlu diketahui dan tiap metode ini menggunakan algoritma yang berbeda. Berikut beberapa diantaranya;

1. Round Robin
Metode Round Robin digunakan saat Anda memiliki beberapa server, dengan kemampuan, jenis, dan karakteristik server yang sama. Metode ini bekerja dengan mengarahkan traffic secara berurutan ke setiap server.

Sebagai contoh, saat perusahaan Anda memiliki 2 server, maka pengunjung website pertama akan diarahkan ke server pertama. Kemudian pengunjung website yang kedua akan diarahkan ke server ke dua, pengunjung website ke tiga akan diarahkan ke server pertama, begitu seterusnya.

Kekurangan metode ini load balancer tidak memperhitungkan beban masing-masing server.

2. Least Connection
Selanjutnya metode Least Connection menjawab kekurangan dari metode sebelumnya. Metode least connection mampu mendistribusikan traffic ke semua server yang dimiliki.

Ketika salah satu server mengalami beban yang besar, maka traffic akan diteruskan ke server yang lain.

3. Least Response Time
Server load balancer akan mengarahkan traffic ke server dengan koneksi aktif terkecil dan waktu response yang paling cepat. 

4. Least Bandwidth
Di Metode ini, load balancer akan mendistribusikan traffic ke server yang memiliki traffic Mbps paling kecil.

5. IP Hash
Yang terakhir adalah IP Hash. Metode IP Hash adalah server yang menjadi tujuan ditentukan dari IP (incoming packet), seperti alamat IP destinasi, port number, URL, hingga nama domain.

Cara Kerja Load Balancing
Berikut adalah cara kerja load balancing dari mulai masuknya requets dari client, hingga ditemukan server tujuannya.

Pengguna melakukan request ke server load balancing, supaya diarahkan ke server website.
Server load balancing menerima request tersebut, selanjutnya server load balancing akan mengecek apakah server tujuan sedang aktif atau tidak, dan akan mengecek beban kerja di server tujuan.
Terakhir, dari analisa yang didapatkan dan berdasarkan jenis load balancing yang digunakan, server load balancing mendistribusikan traffic ke server tujuan. 






Referensi

https://www.geeksforgeeks.org/what-are-the-components-of-system-design/?ref=lbp

https://www.geeksforgeeks.org/system-design-tutorial/

https://www.geeksforgeeks.org/system-design-interview-bootcamp-guide/?ref=lbp

Comments

Popular posts from this blog

Prinsip Desain Software

High Level Design

Studi kasus 1 - Desain Sistem Restauran