Komponen Desain Sistem

Pertemuan 10 - Komponen Desain Sistem

Nama: Rayhan Almer Kusumah

NRP: 5025211115

Kelas: Perancangan Perangkat Lunak (A)

Tahun: 2024

Komponen Desain Sistem


Load Balancer

Load balancer adalah sebuah perangkat atau perangkat lunak yang digunakan untuk mendistribusikan beban kerja atau lalu lintas jaringan secara merata ke beberapa server atau sumber daya komputasi. Tujuannya adalah untuk meningkatkan kinerja, keandalan, dan ketersediaan aplikasi atau layanan.

Fungsi dan Manfaat Load Balancer

  • Distribusi Beban Kerja: Load balancer mendistribusikan permintaan dari pengguna ke beberapa server berdasarkan berbagai algoritma, seperti round-robin, least connections, atau IP hash. Ini membantu memastikan tidak ada satu server pun yang kewalahan dengan terlalu banyak permintaan.
  • Meningkatkan Kinerja: Dengan mendistribusikan permintaan secara merata, load balancer membantu mengurangi waktu respons dan meningkatkan kecepatan akses aplikasi.
  • Keandalan dan Ketersediaan: Load balancer dapat mendeteksi server yang mengalami kegagalan dan mengalihkan lalu lintas ke server lain yang berfungsi. Hal ini memastikan bahwa layanan tetap tersedia meskipun ada beberapa server yang down.
  • Scalability: Load balancer memungkinkan penambahan server baru tanpa mengganggu layanan yang sedang berjalan. Ini sangat penting bagi aplikasi yang terus berkembang dan membutuhkan penambahan kapasitas.
  • Keamanan: Load balancer dapat membantu meningkatkan keamanan dengan mengaburkan IP asli dari server di belakangnya, melindungi mereka dari serangan langsung

Jenis-Jenis Load Balancer

Layer 4 Load Balancer



Layer 4 Load Balancer beroperasi pada lapisan transport (Transport Layer) dari model OSI, yaitu pada protokol TCP/UDP. Mereka mendistribusikan lalu lintas berdasarkan informasi jaringan seperti alamat IP sumber dan tujuan serta nomor port.

Keunggulan:

  • Kinerja lebih tinggi karena tidak perlu memeriksa isi paket.
  • Latensi rendah karena prosesnya yang sederhana.
  • Lebih efisien dalam hal penggunaan sumber daya.

Kekurangan:

  • Kurang fleksibel dalam routing berbasis konten.
  • Tidak dapat melakukan manipulasi atau inspeksi lalu lintas berbasis aplikasi.

Layer 7 Load Balancer



Layer 7 Load Balancer beroperasi pada lapisan aplikasi (Application Layer) dari model OSI, yaitu pada protokol HTTP/HTTPS. Mereka mendistribusikan lalu lintas berdasarkan isi dari paket aplikasi, seperti URL, header HTTP, atau data sesi.

Keunggulan:

  • Kemampuan routing yang lebih canggih dan berbasis konten.
  • Dapat melakukan inspeksi dan manipulasi lalu lintas HTTP/HTTPS.
  • Mendukung fitur canggih seperti autentikasi, SSL termination, dan caching.

Kekurangan:

  • Kinerja lebih rendah dibandingkan Layer 4 karena memerlukan lebih banyak pemrosesan.
  • Latensi lebih tinggi karena proses inspeksi paket.

Global Load Balancer

Global Load Balancer mendistribusikan lalu lintas ke beberapa pusat data yang tersebar secara geografis. Mereka dirancang untuk aplikasi global yang membutuhkan redundansi dan kinerja tinggi di berbagai lokasi.

Keunggulan:

  • Ketersediaan dan keandalan tinggi di berbagai lokasi.
  • Optimisasi lalu lintas berdasarkan lokasi geografis pengguna.
  • Redundansi global dan kemampuan failover otomatis.

Kekurangan:

  • Kompleksitas implementasi dan manajemen.
  • Biaya yang lebih tinggi.

Application Load Balancer

Application Load Balancer (ALB) adalah tipe khusus dari Layer 7 Load Balancer yang dirancang untuk menangani lalu lintas aplikasi berbasis HTTP/HTTPS. Mereka menawarkan fitur-fitur canggih untuk mendukung aplikasi modern yang sering kali terdiri dari berbagai layanan mikro (microservices).

Keunggulan:

  • Mendukung skenario aplikasi modern dengan berbagai layanan mikro.
  • Dapat mengarahkan lalu lintas berdasarkan host, path, dan header HTTP.
  • Mendukung fitur SSL termination dan HTTP/2.

Kekurangan:

  • Kinerja lebih rendah dibandingkan Layer 4 karena pemrosesan yang lebih intensif.
  • Memerlukan lebih banyak konfigurasi dan pengelolaan.

Cara Kerja Load Balancer

Cara kerja load balancer dapat berbeda tergantung pada jenis dan algoritma yang digunakan, tetapi secara umum, berikut adalah langkah-langkah dasarnya:

  1. Menerima Permintaan: Load balancer menerima permintaan dari klien (pengguna atau aplikasi lain).
  2. Menentukan Server Tujuan: Load balancer menggunakan algoritma untuk memilih server tujuan. Algoritma ini bisa berbasis round-robin (bergilir), least connections (jumlah koneksi aktif paling sedikit), IP hash (berdasarkan alamat IP klien), atau metode lainnya.
  3. Meneruskan Permintaan: Load balancer meneruskan permintaan ke server yang dipilih. Server tersebut kemudian memproses permintaan dan mengirimkan respons kembali melalui load balancer.
  4. Monitoring dan Failover: Load balancer terus memantau kesehatan server di belakangnya. Jika terdeteksi ada server yang gagal, load balancer akan menghapus server tersebut dari daftar dan mengalihkan lalu lintas ke server lain yang aktif.

Comments

Popular posts from this blog

ETS Perancangan Perangkat Lunak

High Level Design