Pertemuan 10: Komponen Desain Sistem
Tugas Pertemuan 10: Struktur dan Aplikasi Load Balancer
Latar Belakang
Load balancer adalah komponen penting dalam sistem terdistribusi yang memastikan bahwa lalu lintas jaringan didistribusikan secara efisien ke beberapa server untuk meningkatkan ketersediaan dan keandalan aplikasi. Berbagai jenis load balancer beroperasi pada lapisan berbeda dari model OSI dan melayani tujuan spesifik berdasarkan konten dan kebutuhan distribusi aplikasi.
Tugas
* Mendeskripsikan struktur dan fungsi Layer 4 load balancer.
* Mendeskripsikan struktur dan fungsi Layer 7 load balancer.
* Mendeskripsikan struktur dan fungsi global load balancer.
* Mendeskripsikan struktur dan fungsi application load balancer.
* Menggambarkan keseluruhan struktur dan fungsi tiap metode
* Memberikan contoh aplikasi yang sesuai untuk setiap jenis load balancer.
Metode
Layer 4 Load Balancer
Layer 4 load balancer beroperasi pada lapisan jaringan dari model OSI dan mendistribusikan permintaan berdasarkan alamat IP sumber dan tujuan serta nomor port dari permintaan tersebut.
Struktur
Beroperasi pada lapisan Transport (Layer 4) dari model OSI.
Menggunakan alamat IP dan port TCP/UDP untuk load balancing.
Contoh Aplikasi
Cocok untuk routing sederhana tanpa memeriksa konten permintaan.
Contoh: Load balancing server web dasar, load balancing DNS.
Aplikasi nyata: Server DNS seperti Google Public DNS.
Layer 7 Load Balancer
Layer 7 load balancer beroperasi pada lapisan aplikasi dari model OSI dan mendistribusikan permintaan berdasarkan konten dari permintaan tersebut, seperti URL atau jenis metode HTTP yang digunakan.
Struktur
Beroperasi pada lapisan Aplikasi (Layer 7) dari model OSI.
Memeriksa header HTTP, URL, dan cookie.
Contoh Aplikasi
Cocok untuk aplikasi web yang memerlukan routing berbasis konten.
Contoh: Aplikasi web kompleks seperti situs e-commerce (misalnya, Tokopedia).
Aplikasi nyata: Amazon menggunakan Layer 7 load balancer untuk routing berbasis konten.
Global Load Balancer
Global load balancer digunakan dalam sistem terdistribusi untuk mendistribusikan permintaan ke beberapa server yang terletak di berbagai wilayah geografis.
Struktur
Beroperasi di beberapa pusat data.
Menggunakan routing DNS atau Anycast.
Contoh aplikasi
Cocok untuk aplikasi yang membutuhkan ketersediaan global dan latensi rendah.
Contoh: Mesin pencari yang berbasis wilayah, aplikasi global seperti CDN (Content Delivery Network).
Aplikasi nyata: Google Search menggunakan global load balancer untuk mengarahkan permintaan ke pusat data terdekat.
Application Load Balancer
Application load balancer adalah load balancer khusus yang dirancang untuk bekerja dengan jenis aplikasi atau protokol tertentu, seperti HTTP atau HTTPS.
Struktur
Dirancang khusus untuk aplikasi atau protokol tertentu.
Memungkinkan routing berbasis aplikasi.
Contoh aplikasi
Cocok untuk aplikasi yang memerlukan fitur load balancing yang spesifik.
Contoh: Aplikasi web modern yang menggunakan microservices atau API gateway.
Aplikasi nyata: Duolingo menggunakan application load balancer untuk mengelola trafik antar layanan microservices mereka.
1. Client
Representasi dari entitas yang mengirimkan permintaan ke load balancers.
Mewakili pengguna atau aplikasi yang memerlukan layanan dari server melalui load balancers.
2. Layer4LoadBalancer
Attributes
sourceIP - Alamat IP sumber dari permintaan.
destinationIP - Alamat IP tujuan dari permintaan.
sourcePort - Nomor port sumber.
destinationPort - Nomor port tujuan.
Methods
distributeTraffic() - Metode untuk mendistribusikan lalu lintas berdasarkan atribut yang ada.
3. Layer7LoadBalancer
Attributes
httpHeader - Header HTTP dari permintaan.
url - URL dari permintaan.
cookie - Cookie yang terkait dengan permintaan.
Methods
inspectContent() - Metode untuk memeriksa konten dari permintaan.
distributeTraffic() - Metode untuk mendistribusikan lalu lintas berdasarkan konten yang diperiksa.
4. GlobalLoadBalancer
Attributes
dataCenters - Informasi tentang pusat data yang digunakan.
dnsRouting - Metode routing menggunakan DNS.
anycastRouting - Metode routing menggunakan Anycast.
Methods
distributeGlobalTraffic() - Metode untuk mendistribusikan lalu lintas secara global ke pusat data yang sesuai.
5. ApplicationLoadBalancer
Attributes
applicationType - Jenis aplikasi yang digunakan.
protocol - Protokol yang digunakan oleh aplikasi (misalnya HTTP, HTTPS).
microservices - Informasi tentang microservices yang digunakan oleh aplikasi.
Methods
routeApplicationTraffic() - Metode untuk merutekan lalu lintas berdasarkan jenis aplikasi dan protokol yang digunakan.
6. Server
Representasi dari server yang menerima lalu lintas dari load balancers.
Hubungan dalam Diagram
Client mengirimkan permintaan ke Layer4LoadBalancer, Layer7LoadBalancer, GlobalLoadBalancer, dan ApplicationLoadBalancer.
Layer4LoadBalancer mendistribusikan lalu lintas ke Server.
Layer7LoadBalancer mendistribusikan lalu lintas ke Server.
GlobalLoadBalancer mengarahkan lalu lintas berdasarkan lokasi geografis dan berinteraksi dengan Layer4LoadBalancer, Layer7LoadBalancer, dan ApplicationLoadBalance mendistribusikan lalu lintas ke Server.
ApplicationLoadBalancer mendistribusikan lalu lintas ke Server.
Penjelasan Fungsi
Layer4LoadBalancer menggunakan atribut dari layer 4 (Transport) seperti alamat IP dan nomor port untuk mendistribusikan lalu lintas.
Layer7LoadBalancer menggunakan atribut dari layer 7 (Aplikasi) seperti header HTTP, URL, dan cookie untuk mendistribusikan lalu lintas berdasarkan konten permintaan.
GlobalLoadBalancer berfungsi di berbagai pusat data dan menggunakan metode routing seperti DNS dan Anycast untuk mendistribusikan lalu lintas secara global.
ApplicationLoadBalancer dirancang untuk jenis aplikasi atau protokol tertentu, memungkinkan routing berdasarkan kebutuhan spesifik aplikasi.

Comments
Post a Comment