_____ __ _____ ___ _____ ___ _____ _____ _____ _____ _____ _____ _____ _____ ____ _____ _ _ _ _____ | __|| | | | ||_ | | | || | | | __|| __|| __ || | || __|| __ | | || __| | \ | || | | || | | | __|| |__ | | | _| |_ | | | ||_ | |__ || __|| -|| | || __|| -| |- -||__ | | | || | || | | || | | | |_____||_____| \___/ |_____||_|___| |_| |_____||_____||__|__| \___/ |_____||__|__| |_____||_____| |____/ |_____||_____||_|___| I DONT WANT TO BE FAME , I DONT WANT TO BE ANY EZINE , I JUST WANT TO SHARE KNOWLEDGE
, ----. ~ Fuck full-disclosure - - ` ~ Fuck the security industry ,__.,' \ ~ Keep 0days private .' *` ~ Hack everyone you can and then hack some more / | | / **\ ~ Blend in. . / ****. ~ Get trusted. | mm | ****| ~ Trust no one. \ | ****| ~ Own everyone. ` ._______ \ ****/ ~ Disclose nothing. \ /`---' ~ Destroy everything. \___( ~ Take back the scene /~~~~\ ~ Never sell out, never surrender. / \ ~ Get in as anonymous, Leave with no trace. / | \ ~ This your Fucking IP | | \ ~ This your Fucking ISP , ~~ . |, ~~ . | |\ ~ FUCK OFF I've got enough friends !!!! ( |||| ) ( |||| )(,,,)` ( |||||| )-( |||||| ) | ^ ( |||||| ) ( |||||| ) |'/ ( |||||| )-( |||||| )___,'- ( |||| ) ( |||| ) ` ~~ ' ` ~~ '

[ Blog ]

[ History ]


Introduction to Load Balancing with HAPROXY

Load balancing (LB) adalah salah satu technology yang udah cukup lama, namun tidak cukup familiar di kalangan IT itu sendiri,padahal hampir sebagian besar site-site yang memiliki traffic tingkat tinggi pasti menggunakan teknologi LB untuk membagi beban ke server atau cluster yang mereka miliki. berikut ini adalah contohnya:
%host -t a www.detik.com
www.detik.com is an alias for detik.com.
detik.com has address 202.158.66.94
detik.com has address 203.190.241.41
detik.com has address 203.190.241.43
detik.com has address 202.158.66.190
detik.com has address 202.158.66.86
detik.com has address 203.190.241.166
detik.com has address 202.158.66.20

%host -t a www.google.co.id
www.google.co.id is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 66.249.89.104
www.l.google.com has address 66.249.89.147
www.l.google.com has address 66.249.89.99


Okey, 2 contoh diatas cukup memberi gambaran bahwa kedua site tersebut menggunakan teknologi balancing. Untuk definisi LB itu sendiri bisa dibaca disini. LB memiliki beberapa algoritma atau metode dalam membagi beban ke server atau cluster yang mereka miliki:

1. DNS Load Balancing
Metode ini menggunkan sebuah domain name yang menunjuk ke-beberapa IP publik sekaligus, silahkan baca disini untuk keterangan lebih lanjut

2. Random Allocation
Ini adalah algoritma random, tidak ada yang perlu dijelaskan lebih lanjut, karena algoritma ini membagi beban ke server secara random tanpa ada sebuah pola yang jelas.

3. Round Robin
Round robin membagi incoming request secara rotasi, jadi misalkan ada 3 server yang menjadi anggota dari sebuah cluster, ketika ada request pertama, maka server A yang akan menghadle-nya, request kedua Server B, request ketiga server C. Kemudian ketika ada request ke-4 maka itu akan dirotasi lagi ke server A kemudian request ke-lima akan diberikan ke server B, begitu seterusnya. selengkapnya bisa anda baca disini

4. Weighted Round-Robin Allocation
Algoritma ini adalah pengembangan dari algoritma round robin, sedikit perbedaannya adalah algoritma ini bisa membagi beban lebih tinggi ke server atau cluster yang memiliki resource yang lebih besar

Ada banyak aplikasi maupun hardware yang bisa menjalankan teknologi LB. Cisco, F5, Barracuda, dan Juniper adalah beberapa vendor yang menyediakan dedicated hardware untuk service LB. Sementara itu untuk software, anda bisa melihatnya disini
Diantara beberapa aplikasi LB, salah satu yang cukup menarik bagi saya adalah haproxy, karena selain ringan, juga cukup mudah dalam penggunaannya. Mari kita coba menjalankan haproxy dengan kasus sederhana. Saya menggunakan system OpenBSD sebagai mesin load balancer.

Saya mem-build haproxy dari ports:
# uname -a
OpenBSD k-elektronik 4.4 GENERIC#0 i386
# cd /usr/ports/net/haproxy/
# cat distinfo
MD5 (haproxy-1.3.15.2.tar.gz) = pk1/WnRk52n4Z2gCvo6PNg==
RMD160 (haproxy-1.3.15.2.tar.gz) = YHMIoB0/Y/d6x65m00Krml6Ikn8=
SHA1 (haproxy-1.3.15.2.tar.gz) = LRPN8fhog+eFcffPI4qb+MAupC8=
SHA256 (haproxy-1.3.15.2.tar.gz) = YgK8PuWbtVe+WsgMfKQrOUnaBL0plx4395HSdxwOQmQ=
SIZE (haproxy-1.3.15.2.tar.gz) = 501219
# make install clean
# /usr/local/sbin/haproxy -v
HA-Proxy version 1.3.15.2 2008/06/21
Copyright 2000-2008 Willy Tarreau


untuk konfigurasi dengan 2 server farm, minimal file config haproxy terlihat seperti berikut:
# cat haproxy.conf
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 1024
ulimit-n 65536
daemon
nbproc 8 # Number of processing cores

defaults
mode http
log global
option httplog
option dontlognull
clitimeout 180000
srvtimeout 180000
contimeout 100000
retries 15
option redispatch
option httpclose
option abortonclose
option httpchk

listen http_main 11.11.11.11:80 # bukan IP sebenarnya :D
option httpclose
option forwardfor
cookie apaaja insert indirect nocache
option httpchk /http_check.html
balance roundrobin # Load Balancing algorithm

server server01 192.168.1.1:80 check inter 2000 rise 2 fall 5
server server02 192.168.1.2:80 check inter 2000 rise 2 fall 5


sebelum menjalankan haproxy, pastikan bahwa kedua webserver anda telah jalan dengan baik
#/usr/local/sbin/haproxy -f /usr/local/etc/haproxy.conf
# ps xw | grep haproxy | head -n 1
845 ?? Ss 0:52.58 /usr/local/sbin/haproxy -p /var/run/haproxy.pid -f /usr/local/etc/haproxy.conf


banyak sekali hal menarik yang anda bisa lakukan dengan haproxy, silahkan baca disini, dan juga ini untuk pendalaman lebih lanjut. For security..?!hhmm, i will post it again later.


author : jackD
resensi : http://www.kecoak-elektronik.net/log/2009/01/23/introduction-to-load-balancing-with-haproxy/

Labels:


On 5/6/09 at 9:19 AM



My Profile:


Biography:

short story:

[ Friends Link ]

[ chat with me ]


[ archives ]

[ Notices ]

By title

Introduction to Load Balancing with HAPROXY

By month

2002.03 2002.12 2005.12 2008.11 2009.02 2009.03 2009.04 2009.05 2009.06 2009.07 2009.08 2009.09 2009.10 2009.11 2009.12 2010.01 2010.03



 


elv1n4 Themes v2.0.0 © 2009 by elv1n4

www[dot]elv1n4.anti-sec[dot]org