Server Load Balancer (SLB) adalah sebuah service yang mendistrisibusikan trafik di antara beberapa ECS instances. SLB dapat melakukan scale up kemampuan layananan pada suatu sistem aplikasi dengan mendistribusikan trafik dan meningkatkan ketersediaan dengan mengeliminasi. SPOF (Single Point of Failures).
Alibaba Cloud menyediakan dua jenis SLB instance:
- Classic Load Balancer (CLB): sebelumnya dikenal dengan SLB. CLB instance mendukung TCP, UDP, HTTP, dan HTTPS. CLB juga menyediakan kemampuan pemrosesan yang powerful untuk layer 4 load balancing dan kemampuan pemrosesan basic untuk layer 7 load balancing.
- Application Load Balancer (ALB): ALB instance menyediakan performa ultra-high untuk memproses trafik jaringan pada layer 7. Sebagai contoh, kita dapat menggunakan HTTPS offloading dengan ALB instance. Masing-masing ALB instance mendukung sampai dengan 1 Juta QPS. Sebuah ALB instance melayani sebagai sebuah cloud-native gateway pada Alibaba Cloud dan juga menyediakan fitur advanced routing. ALB instance dapat mem-forward, redirect, dan rewrite pesan berdasarkan pada user-defined HTTP headers, cookies, dan query strings.
ECS Instance
Sebagai contoh, kita memiliki 2 ECS instance (Ubuntu 16.04) yang nanti di dalamnya terdapat service HTTP yang sama dan kita akan lakukan load balance di antara keduanya.
Masuk ke ECS
Ada 2 ECS instances yang running
Klik Manage untuk masuk ke detail pada instance
Install Apache HTTP pada Instance
Remote pada kedua instance. Dan lakukan instalasi apache http di dalamnya.
apt-get update
apt-get install apache2 -y
service apache2 status
Kemudian buat halaman web sederhana melalui terminal dengan melakukan edit pada file index.html.
Untuk instance 1
cd /var/www/html
echo 'Hello World, This is ECS-1' > index.html
Untuk instance 2
cd /var/www/html
echo 'Hello World, This is ECS-2' > index.html
Kemudian akses kedua instance melalui alamat IP publik nya.
Server Load Balancer
Untuk melihat load balancer, masuk ke Server Load Balancer melalui menu
Akan terlihat instance SLB dan IP publik nya
Pilih Add Backend Server
Pilih 2 instances yang terinstall apache2 sebelumnya
Kemudian klik Add
Klik OK
Jika dilihat pada Default Server Group, maka akan terlihat instance yang sudah berhasil ditambahkan
Listener
Tambahkan listener pada bagian menu Listeners. Klik Add Listener.
Pilih HTTP dan Listening Port nya 80
Pilih Forward Requet To ke Default Server Group
Klik Next
Klik Submit dan OK
Testing
Akses IP publik milik instance SLB. Maka akan tampil service web pada kedua ECS instance secara bergantian karena load nya dibagi ke kedua instance. Lakukan reload berulang-ulang.
Modifikasi Weights
Coba untuk memodifikasi weights pada kedua ECS instance. Instance 1 tetap 100, dan instance 2 menjadi 50.
Lakukan test reload halaman web lagi. Maka seharusnya instance 1 memiliki peluang 2x lebih banyak diakses daripada instance 2 dengan perbandingan 1:2.