Database Replication, Networking, System Administrator, Ubuntu Server

Penerapan Load Balancing Menggunakan Haproxy Pada Ubuntu 16.04 LTS

SEPUTAR LOAD BALANCING

Load balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Load balancing digunakan pada saat sebuah server telah memiliki jumlah user yang telah melebihi maksimal kapasitasnya. Load balancing juga mendistribusikan beban kerja secara merata di dua atau lebih komputer, link jaringan, CPU, hard drive, atau sumber daya lainnya, untuk mendapatkan pemanfaatan sumber daya yang optimal.

KENAPA HARUS MELAKUKAN LOAD BALANCING

Ada banyak alasan mengapa menggunakan load balancing untuk website atau aplikasi berbasis web lainnya. Dua alasan yang utama adalah:

  1. Waktu Respon. Salah satu manfaat terbesar adalah untuk meningkatkan kecepatan akses website saat dibuka. Dengan dua atau lebih server yang saling berbagi beban lalu lintas web, masing-masing akan berjalan lebih cepat karena beban tidak berada pada 1 server saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi permintaan halaman website.
  2. Redundansi. Dengan load balancing, akan mewarisi sedikit redundansi. Sebagai contoh, jika website kita berjalan seimbang di 3 server dan salah satu server bermasalah, maka dua server lainnya dapat terus berjalan dan pengunjung website kita tidak akan menyadarinya downtime apapun.

CARA KERJA LOAD BALANCING

Load Balancer (perangkat load balancing) menggunakan beberapa peralatan yang sama untuk menjalankan tugas yang sama. Hal ini memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila dikerjakan oleh hanya 1 peralatan saja dan dapat meringankan beban kerja peralatan, serta mempercepat waktu respons. Load Balancer bertindak sebagai penengah diatara layanan utama dan pengguna, dimana layanan utama merupakan sekumpulan server/mesin yang siap melayani banyak pengguna.

Disaat Load Balancer menerima permintaan layanan dari user, maka permintaan tersebut akan diteruskan ke server utama. Biasanya Load Balancer dengan pintar dapat menentukan server mana yang memiliki load yang lebih rendah dan respons yang lebih cepat. Bahkan bisa menghentikan akses ke server yang sedang mengalami masalah dan hanya meneruskannya ke server yang dapat memberikan layanan. Hal ini salah satu kelebihan yang umumnya dimiliki load balancer, sehingga layanan seolah olah tidak ada gangguan di mata pengguna.

ALAT DAN BAHAN

  • Aplikasi haproxy
  • Perangkat VirtualBox untuk proses simulasi
  • 3 Buah mesin virtual ubuntu server
    • 192.168.56.101 (IP LOAD BALANCING)
    • 192.168.56.102 (SERVER 1)
    • 192.168.56.103 (SERVER 2)

Konfigurasi alamat ip pada masing-masing mesin virtual menjadi statis atau dengan mengubah pengaturan network pada mesin virtual menjadi host only untuk mendapat ip secara dinamis.

silahkan cek alamat ip menggunakan perintah ifconfig

INSTALASI HAPROXY

Ketik perintah instalasi haproxy pada command line interpreter ubuntu seperti berikut sudo apt-get update –fix-missing kemudian enter, dilanjutkan dengan sudo apt-get install haproxyKONFIGURASI HAPROXY

KONFIGURASI HAPROXY

Buka file konfigurasi haproxy pada lokasi penyimpanannya dengan perintah sudo nano /etc/haproxy/haproxy.cfg (disarankan untuk melakukan backup terlebih dahulu agar mengantisipasi jika terjadi kesalahan konfigurasi) lalu tambahkan script berikut ini

script diatas menyiapkan 2 akses menuju haproxy pada port ip-server:8181 untuk melihat statistik haproxy sedangkan pada port ip-server:8080 adalah pintu masuk proses balancing jika terdapat request dari perangkat client.

PENGUJIAN LOAD BALANCING

Sekian percobaan singkat mengenai load balancing menggunakan haproxy pada ubuntu server 16.04

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s