Cara Membuat Load Balancing Web Server Nginx


Cara Membuat Load Balancing Web Server Nginx

Mengenal Load Balancing Pada Web Server Nginx

Load balancing adalah suatu mekanisme baik yang secara manual maupun otomatis dapat dipakai untuk mendistribusikan beban kerja yang berasal dari beberapa sumber antara satu jaringan ataupun lebih. Mekanisme ini apabila dipakai pada aplikasi komputer, dapat membantu untuk menghindari beban kerja yang berlebihan. Load balancing memberi pilihan pada beberapa server, sehingga otomatis memindahkan beban dari satu server ke yang lain jika beban yang ada di salah satu jaringan melebihi kapasitasnya, dan mengembalikan saat kembali utuh.

Dalam bidang web hosting, Load Balancing sering dipakai untuk mengurangi beban dari Nginx web server. Nginx adalah salah satu web server open source yang paling populer dan cepat untuk mendukung aplikasi website. Nginx sendiri dapat mendukung penggunaan beberapa alur, dipaksa untuk menjadi penangkar konten, penyedia layanan API, dan masih banyak lagi.

Mempersiapkan Environtment

Kita perlu mempersiapkan lingkungan terlebih dahulu sebelum melakukan setup load balancing menggunakan Nginx. Untuk mengatur load balancing dengan Nginx, kita membutuhkan minimal 3 buah server yang terhubung dengan jaringan. Kita dapat memilih sistem operasi yang berbeda-beda, misalnya Ubuntu, CentOS, ataupun lainnya untuk setiap server. Namun, kita lakukan setupnya pada Ubuntu 14.04.

Untuk memulai setup load balancing tersebut, kita harus memastikan setiap server memiliki Nginx yang diinstal. Nginx akan menjalankan sebagai web server yang mendukung website, aplikasi dan lainnya. Untuk proses pembuatan virtual host dan lainnya, prosesnya dapat dilihat pada tutorial ini.
Setelah setup tersebut telah berhasil, kita harus memastikan bahwa setiap server dapat dicapai dari server lain dengan menggunakan protokol Internet Protocol (IP). Untuk melakukan ini, masing-masing IP harus ditambahkan pada file host. Anda juga harus memastikan bahwa port yang terbuka, seperti port 80 atau 8080, harus dapat diakses dari server lain.

Membuat Setup Master Server

Setelah mempersiapkan environment, kita dapat mulai membuat setup master server. Master server ini akan menjadi server yang master, yang artinya bahwa ia yang akan mengontrol dan mengendalikan data yang akan ditandai dan dikirimkan ke server lain.

Pertama, kita dapat membuat file yang disebut ‘load balance’ pada folder etc/nginx. Gunakan editor teks flaavor yang kamu suka, kita akan membuat file yang dikenal sebagai ‘upstream’, file ini akan memberi tahu Nginx bagaimana menyebarkan request ke semua server yang tersedia. File ini akan mengatur server mana yang akan menerima request. Tambahkan semua IP server yang terhubung dengan server master dan simpan file sebagai ‘load-balance.conf’ dan tambahkan konfigurasi berikut di dalamnya.

upstream load-balance{
server 192.168.1.21;
server 192.168.1.22;
server 192.168.1.23;
}

Konfigurasi Load Balancing Nginx

Setelah konfigurasi master server telah selesai, kita akan melakukan konfigurasi load balancing pada Nginx. Tujuannya agar Nginx dapat mem,baca setiap request yang masuk ke server dan mengarahkannya ke server salah satu dari IP yang ditambahkan sebelumnya. Gunakan file yang telah dibuat sebelumnya yaitu ‘load-balance.conf’ dan tambahkan syntax ini kedalam konfigurasi default Nginx.

server {
listen 80;
server_name example.com www.example.com;

location / {
proxy_pass http://load-balance;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

}

Perintah diatas akan mengarahkan setiap request ke file ‘load-balance.conf’ sehingga sebagai hasilnya Nginx akan mampu melakukan load balancing dengan baik. Jika kamu selesai mengedit file konfigurasi tersebut, kamu dapat melakukan testing dengan melakukan request ke server master sambil menggunakan perintah Curl.

curl -i http://192.168.1.11

Jika berhasil, yang akan terlihat adalah status 200 OK dari salah satu dari IP yang sudah ditambahkan sebelumnya. Selanjutnya, jalankan Nginx untuk memulai melahirkan aplikasi web dengan konfigurasi yang baru.

Menggunakan Aplikasi Load Balancer

Setelah kamu memiliki lingkungan yang disetup dengan baik, kamu dapat membuat aplikasi web yang dapat diakses. Untuk membuat aplikasi web yang load balancing, kamu dapat menggunakan beberapa aplikasi terbaik seperti Kerberos, HAProxy, ataupun Nginx Plus. Aplikasi ini akan mengelola para pengguna secara efektif dan dapat membuat kapasitas server yang tersedia tetap berfungsi dengan baik.

Aplikasi – aplikasi tersebut akan membuat server master menjadi bertindak sebagai penangkap rincian request dan memberikannya ke server lain yang tersedia. Sekalipun server lain keadaannya tidak baik, load balancing dapat diatur supaya aplikasiweb tetap b

Leave a Reply

Your email address will not be published. Required fields are marked *