You are on page 1of 15

TRNG I HC BCH KHOA H NI

KHOA CNG NGH THNG TIN


*

N
TT NGHIP I HC
NGNH CNG NGH THNG TIN

CN BNG TI CHO CC H
WEBSERVER LN V M BO
SCALABILITY

Sinh vin thc hin : V Duy Pho


Lp CNPM - K49
Gio vin hng dn: TS. Nguyn Khanh Vn

H NI 6-2009
PHIU GIAO NHIM V N TT NGHIP

1. Thng tin v sinh vin


H v tn sinh vin: V Duy Pho
in thoi lin lc: 0944599926 Email: d.for.vo@gmail.com
Lp: CNPM-K49 H o to: Chnh qui
n tt nghip c thc hin ti: Trng i hc Bch Khoa H Ni
Thi gian lm ATN: T ngy 22/02/2009 n ngy 29/05/2009

2. Mc ch ni dung ca ATN
Tm hiu v l thuyt cn bng ti cho cc h thng web server ln bao gm nhiu web
server c ci t nhiu ni khc nhau, tm hiu v l thuyt xy dng b cn bng ti
cho cc web server, ci t cc thut ton cn bng ti, khc phc mt s nhc im ca
cc thut ton ny. Tm hiu cc phng n ci t v cu hnh cc b cn bng ti vo h
thng web server nhm m bo c tnh m rng cao v kh nng chng li.

3. Cc nhim v c th ca ATN
- Tm hiu v kin trc website vi kh nng m rng
- Tm hiu v cn bng ti cho cc h thng web-server ln, cc k thut cn bng ti
server
- Tm hiu v l thuyt xy dng b cn bng ti, cn bng ti cho server, cn bng ti cho
server ton cu v cn bng ti cho cache
- Tm hiu v ci t mt s thut ton cn bng ti bng ngn ng C da trn mt sn
phm cn bng ti m ngun m, xut mt s phng php ci tin thut ton.
- Cu hnh v ci t cc b cn bng ti vo h thng theo cc kin trc khc nhau, m
bo c kh nng m rng v kh nng chng li ca h thng.

4. Li cam oan ca sinh vin:


Ti V Duy Pho - cam kt ATN l cng trnh nghin cu ca bn thn ti di s
hng dn ca TS Nguyn Khanh Vn.
Cc kt qu nu trong ATN l trung thc, khng phi l sao chp ton vn ca bt k
cng trnh no khc.

H Ni, ngy 25 thng 5 nm 2009


Tc gi ATN

V Duy Pho

5. Xc nhn ca gio vin hng dn v mc hon thnh ca ATN v cho php


bo v:

H Ni, ngy thng nm


Gio vin hng dn

TS. Nguyn Khanh Vn


LI CM N

Trong sut 5 nm hc ti trng i hc Bch Khoa H Ni va qua, em


thu nhn c rt nhiu kin thc b ch t trong sch v, v qu bu hn l t
kinh nghim, tm huyt ca chnh cc thy c truyn li. Em xin gi li cm n
chn thnh ti cc thy c tn tnh ch bo v gip em trong thi gian qua.
c bit, em xin gi li cm n su sc nht ti thy TS. Nguyn Khanh Vn
trc tip hng dn v gip em hon thnh n tt nghip ny.
Em cng xin gi li cm n chn thnh ti anh Nguyn V, cc anh ti cng
ty ERAS Vit Nam v cc bn nhit tnh chia s kinh nghim cng nh cung cp
cc ti liu, cng c gip em hon thnh n tt nghip ny.

Em xin chn thnh cm n!


TM TT NI DUNG N TT NGHIP

S bng n ca ngnh dch v web trong nhng nm gn y khin s lng ngi


truy cp vo mng internet ngy cng tng mnh, c bit l cc website mng x hi v
cc website chia s video trc tuyn. Vi hng trm triu lt truy cp mi ngy, cc
website ny i hi phi c mt h thng server cc k mnh m. Mt h thng hot ng
tt s khin ngi dng hi lng, sau mt thi gian hot ng s lng ngi dng s tng
ln, my ch ca h thng s b qu ti, dn n yu cu nng cp. Sau khi nng cp li
tip tc nh c. Vng tun hon ny dn n nhu cu cn phi xy dng mt h thng
website vi kh nng p ng ngi dng trong mt thi gian di v d dng nng cp
m rng khi cn. chnh l kin trc web vi kh nng m rng.
Vn quan trng nht trong kin trc web vi kh nng m rng chnh l cn
bng ti cho h thng web server. Mt website ton cu s c rt nhiu web-server t
nhiu ni trn th gii, cn bng ti cho h thng web-server ny ngha l lm cch no
cc webserver khng b qu ti, lun p ng c nhu cu ca ngi dng trong thi gian
nhanh nht. Trong s cnh tranh khc lit gia cc website dch v, nh qun tr no c th
p ng c nhu cu ca ngi dng mt cch tt nht, ngi s thng, v vy nhu cu
cn bng ti l v cng cn thit v l vn sng cn i vi cc nh cung cp dch v
web.
C nhiu phng php cn bng ti, tuy nhin l thuyt chung l cn phi c
mt b cn bng ti ng gia ngi dng v h thng webserver. B cn bng ti ny s
nhn yu cu t pha ngi dng, sau chuyn hng cc yu cu ny n cc server ph
hp da trn cc thut ton phn ti, sau nhn d liu t server v tr v cho ngi
dng.
Trong n tt nghip ny, ngi vit lun vn (NVLV) s a tng quan v cc
vn cn phi gii quyt trong qu trnh thit k h thng web vi kh nng m rng. Sau
s i su vo l thuyt cn bng ti cho cc h thng webserver ln, cc k thut v
phng php cn bng ti hin ang c s dng. Tip theo s l kin trc v cc thnh
phn cn xy dng ca mt b cn bng ti, cc thut ton phn ti v ang c dng
trn th gii, cc phng php ci t b cn bng ti vo h thng t c hiu qu
v kh p ng ngi dng cng nh kh nng m rng. Phn tip xin a ra ci t mt
s thut ton cn bng ti c th da trn mt s phn mm cn bng ti m ngun m v
mt s ci tin cho cc thut ton ny. Cui cng l nh hng xy dng mt b cn bng
ti hon ton c lp thc thi cc thut ton phn ti ci tin nhm p dng cho cc website
ang hot ng.
ABSTRACT OF THESIS

The boost of website services, especially the social network and online video-
sharing websites, in recent years causes the number of clients using Internet rapidly
increase. These websites are required to have a very powerful server system to match the
demand of over hundred millions of clients. An interesting website certainly attracts a lot
of users, then the clients go up, that makes servers overload and need to be improved. This
process is repeated when there are more and more clients access to server again. This
problem raise the question of how to build an website system which have ability to meet
the accessing demand of people within long enough time and easily improved if there is
necessary. That is scalable web architecture.
The most important factor in scalable web architecture is load balancing for web
server system. A global website have web servers in many different places. Load balancing
for the web server system is how to minimize clients response time without overloading. In
the competition between web services, a manager who successfully match users demands
will become winner. Therefore, load balancing demand is very crucial for the survival of
web service industry.
There many methods for load balancing but the general point is the necessity of
load balancer between clients and web server system. This load balancer receives the
requests from clients then directs them to suitable servers base on load distribution
algorithms, next it gets the response and returns to clients.
We will present a general view on the problems which need to be solved in the
process of webs ever designs with scalable ability. Then, we focus on the theory of load
balancing for large server systems, techniques and methods of load balancer in use. We
also mention the architecture and necessary factors for a load balancer, load distribution
algorithms which have been used globally, methods of installing a load balancer into
system for matching the demands as well as the scalable capability. The next part will
introduce some specific load balancing algorithms base on an open source load balancer
and improvements for these. The final part will provide a possible direction for building a
completely independent load balancer which implements improved load distribution
algorithms in order to apply in operating websites.
MC LC
TM TT NI DUNG N TT NGHIP ......................................................1
ABSTRACT OF THESIS........................................................................................2
DANH MC CC T VIT TT V THUT NG ...........................................6
T VN .........................................................................................................6
1. Tnh cp thit ca ti ..............................................................................7
2. Mc ch nghin cu .................................................................................10
3. Kt cu lun vn ........................................................................................11
CHNG 1: KIN TRC WEB VI KH NNG M RNG (SCALABLE
WEB ARCHITECTURE)........................................Error! Bookmark not defined.
1. Cc khi nim v kin trc vi kh nng m rng .....Error! Bookmark not
defined.
2. Cc vn cn gii quyt trong qu trnh xy dng website theo kin
trc vi kh nng m rng .................................. Error! Bookmark not defined.
2.1 Cn bng ti cho application servers ........ Error! Bookmark not defined.
2.2 M rng Database server.......................... Error! Bookmark not defined.
2.2.1 Shared nothing Cluster........................... Error! Bookmark not defined.
2.2.2 Real Application Cluster........................ Error! Bookmark not defined.
2.2.3 M hnh khuyn dng ............................ Error! Bookmark not defined.
2.3 T chc lu tr d liu.............................. Error! Bookmark not defined.
2.4 Cn bng ti cho Cache ............................ Error! Bookmark not defined.
2.4.1 nh ngha ............................................. Error! Bookmark not defined.
2.4.2 Cc loi Caches v cch ci t.............. Error! Bookmark not defined.
CHNG 2: K THUT CN BNG TI WEB-SERVERError! Bookmark
not defined.
1. L thuyt xy dng b cn bng ti cho web-servers .Error! Bookmark not
defined.
1.1 K thut cn bng ti server (Server Load Balancing SLB).......... Error!
Bookmark not defined.
1.1.1 Kim tra trng thi server....................... Error! Bookmark not defined.
1.1.2 La chn server tt nht......................... Error! Bookmark not defined.
1.1.3 K thut Session Persistence.................. Error! Bookmark not defined.
1.1.4 Cookie ................................................... Error! Bookmark not defined.
1.2 Cn bng ti cho server ton cu (GSLB) . Error! Bookmark not defined.
1.2.1 Domain Name System ........................... Error! Bookmark not defined.
1.2.2 Ci t b cn bng ti vo h thng mng DNS...Error! Bookmark not
defined.
1.2.3 La chn site tt nht............................. Error! Bookmark not defined.
1.3 Chuyn mch cache trong sut.................. Error! Bookmark not defined.
1.3.1 Cc phng php ci t cache .............. Error! Bookmark not defined.
1.3.2 Cc phng php cn bng ti cho caches.............Error! Bookmark not
defined.
1.3.3 Nhn bit ng cnh trong cache (Content-aware cache switching)Error!
Bookmark not defined.
1.4 Cn bng ti s dng phn cng v cn bng ti phn mm........... Error!
Bookmark not defined.
1.4.1 Cn bng ti s dng phn cng ............ Error! Bookmark not defined.
1.4.2 Cn bng ti s dng phn mm ............ Error! Bookmark not defined.
2. Cc thut ton cn bng ti .......................... Error! Bookmark not defined.
2.1 Thut ton ngu nhin (random)............... Error! Bookmark not defined.
2.2 Thut ton Round Robin (RR) ................... Error! Bookmark not defined.
2.3 Thut ton Weighted Round Robin (Ratio) Error! Bookmark not defined.
2.4 Thut ton Dynamic Round Robin - DRR (Dynamic Ratio) ............. Error!
Bookmark not defined.
2.5 Thut ton Fastest..................................... Error! Bookmark not defined.
2.6 Thut ton Least Connections (LC)........... Error! Bookmark not defined.
2.7 Thut ton Observed ................................. Error! Bookmark not defined.
2.8 Thut ton Predictive................................ Error! Bookmark not defined.
CHNG 3: CI T B CN BNG TI TRONG MNG V LP TRNH
M PHNG THUT TON..................................Error! Bookmark not defined.
1. Cc phng n ci t b cn bng ti vo h thng..Error! Bookmark not
defined.
1.1 B cn bng ti Haproxy........................... Error! Bookmark not defined.
1.2 Ci t n gin vi phng php cookie-insert......Error! Bookmark not
defined.
1.3 Ci t vi kh nng m rng cao ............ Error! Bookmark not defined.
2. Ci t thut ton cn bng ti trn HAProxy ...........Error! Bookmark not
defined.
2.1 Thut ton weighted round robin (WRR)... Error! Bookmark not defined.
2.2 Thut ton least connections ..................... Error! Bookmark not defined.
2.3 Mt s ci tin........................................... Error! Bookmark not defined.
3. Cu hnh v chy chng trnh..................... Error! Bookmark not defined.
KT LUN V NH HNG PHT TRIN .....Error! Bookmark not defined.
1. Tng kt ......................................................... Error! Bookmark not defined.
2. nh hng pht trin ................................... Error! Bookmark not defined.
TI LIU THAM KHO .......................................... Error! Bookmark not defined.
DANH MC CC HNH

STT Tn hnh Trang


H 1.2-1 So snh scale out v scale up 15
H 1.2-2 Bng so snh gi thnh 2 phng php 15
H 1.2-3 M hnh cn bng ti web server 16
H 1.2-4 M rng database server s dng kin trc SAN 17
H 1.2-5 M rng database server theo chiu ngang 17
H 1.2-6 Real Application Cluster 19
H 1.2-7 M hnh m rng database nn dng 19
H 1.2-8 V d v m hnh CDN 21
H 1.2-9 Simple Cache 22
H 2.1-1 Cch lm vic ca cookie user=1 27
H 2.1-2 Cookie read 27
H 2.1-3 Cookie-insert 28
H 2.1-4 B cn bng ti chn mt cookie 29
H 2.1-5 B cn bng ti ghi mt cookie 29
H 2.1-6 M hnh Global Server Load Balancing 31
H 2.1-7 B cn bng ti hot ng nh mt authoritative DNS 32
H 2.1-8 B cn bng ti hot ng nh mt forward DNS proxy 33
H 2.1-9 S kt hp GSLB v SLB trong b cn bng ti 34
H 2.1-10 Ci t cache trnh duyt ca ngi dng 38
H 2.1-11 Ci t cache nh mt transparent proxy 38
H 2.1-12 Cn bng ti cho transparent-proxy cache 40
H 2.1-13 Ci t cache nh mt reverse-proxy 40
H 2.1-14 B cn bng ti cho Reverse proxy caches 41
H 2.1-15 Transparent-reverse proxy caches 42
H 2.1-16 Phng php hash buckets dng trong caching 44
H 2.1-17 V d v lut gip b qua cc ng cnh ng 46
H 2.1-18 Cn bng ti s dng phn cng 47
H 3.1-1 M hnh cn bng ti n gin vi mt b cn bng ti 57
H 3.1-2 Lung d liu trong m hnh n gin 58
H 3.1-3 M hnh phc tp vi 2 b cn bng ti chia s 1 a ch IP o 59
H 3.1-4 Lung d liu trong m hnh 2 b cn bng ti vi keepalived 61
H 3.3-1 Cu hnh firewall cho CentOS 70
H 3.3-2 Cu hnh firewall cho CentOS (tip) 70
H 3.3-3 Kim tra thng s server trong HAProxy 74
H 3.3-4 Thng s cc server ca website www.tamtay.vn s dng HaProxy 75

Hnh v c nh theo nh dng: H [Chng].[Mc ln] [S th t]


DANH MC CC T VIT TT V THUT NG
Authorita- Authoritative Domain Mt website s lu thng tin v tn ca n trong nhiu
tive DNS Name Server server tn. y l server tn c thm quyn cao nht
Client Khch hng, ngi truy cp vo website ni chung
Cluster Dng ch mt cm my ch trong mng LAN
H thng phn gii tn trong internet, thit lp tng
DNS Domain Name System ng gia a ch IP ca mt website v tn min ca n.
Proxy bn pha client, dng tng tc client, client
Forward-proxy phi ch n proxy ny truy cp internet
Kh ging proxy, tuy nhin ch c nhim v to kt ni
Gateway gia ngi dng v server.
Global Server Load Cn bng ti cho cc my server c ci t khp ni
GSLB Balancing trn th gii
Hypertext Transfer Giao thc truyn ti siu vn bn, c s dng trong
HTTP Protocal WWW
Cn bng ti: phn phi ti gia cc server nhm m
LB Load balancing bo s cn bng gia chng
B cn bng ti: thit b phn cng hoc phn mm
LBer Load Balancer dng thc thi hot ng cn bng ti
Thut ton phn ti cho cc server da trn s kt ni
LC Least connections hin ti ca chng
Server tn nm trong mng LAN ca client, trnh duyt
Local Local Domain Name ca client s dng local DNS lin lc vi Domain
DNS Server Name System
Server ng gia ngi dng v webserver, c nhim
Proxy Proxy Server v trao i thng tin.
Reverse-proxy Proxy bn pha server, tng tc server
Thut ton phn ti cho cc server theo th t xoay
RR Round Robin vng
Kin trc kt ni nhng thit b lu tr t xa xem
SAN Storage Area Networks chng nh l cc b vi nhau
Kh nng m rng: kh nng mt website c th p
Scalable - Scalability ng c s lng ngi dng ngy mt tng
Scale - Scaling M rng, tng kh nng hot ng
My phc v, cha cc thng tin, ng dng cho php
Server ngi dng truy cp vo
SLB Server Load Balancing Cn bng ti cho cc my server
S kt hp gia a ch IP v cng nhm xc nh ch
Socket ca mt ng dng ang chy trn server
Mt node trong h thng m nu n b cht th ton b
SPOF Single point of failure h thng s b t lit
Transmission Control Giao thc iu khin truyn vn, s dng to kt ni
TCP Protocol trao i cc gi tin
Proxy bn pha client, hot ng trong sut vi ngi
Transparent-proxy dng
WWW World Wide Web Mng my tnh ton cu
T VN
1. Tnh cp thit ca ti

S pht trin ca ngnh dch v web khin cho s lng ngi truy cp vo
cc website ngy cng tng mnh, c bit l cc mng x hi o hoc website chia
s video trc tuyn. Cc website ny khng ch cho php ngi dng trao i v
chia s thng tin, giao lu v kt bn m cn cho php ngi dng lu tr ti liu,
tm kim bn b, ngi thn, hay thm ch c i tc kinh doanh. Mc d ch mi
bt u pht trin trong vng 5 nm tr li y nhng mng x hi v cc trang chia
s video trc tuyn c c lng ngi dng ln n con s hng trm triu v
vn ang tng vi tc chng mt.

Vi mng x hi, ngi dng c th chat, email, voice chat, chia s file, vit
nht k c nhn (blog) v cng nhau bn lun v nhng vn m h cng quan
tm. Thm na, ngi dng c th thng qua mng tm kim bn b hay i tc
theo tn (tn s dng hoc email), s thch c nhn (nh th thao, phim nh, ca
nhc) hoc lnh vc quan tm (cng ngh, in nh, kinh doanh). Chnh nhng
tnh nng lm cho ngi dng tm n cc mng x hi ngy cng nhiu hn v
thi gian hng ngy h dnh cho n cng tng ln. C th k ra hng lot cc mng
x hi ang c s lng ngi dng ln nh MySpace, Facebook, Hi5, Friendster,
LinkdeInTheo s liu cp nhp thng 1/2009, myspace c 255 triu ti khon
ng k v ng th 9 trong bng xp hng cc website hng u th gii theo
Alexa, FaceBook c 177 triu ti khon v ng th 4. Cc website mng x hi
khc nh Hi5, Friendsteru c s lng ti khon ng k trn 50 triu.

Vi cc website chia s video trc tuyn cng vy, s pht trin ca cng
ngh k thut s gip cho mi ngi c th d dng to ra cc on clip vui nhn,
hay cc video gia nh, h mun lu tr, mun gi cho bn b khp ni, v vy h
tm n cc website chia s video trc tuyn. www.youtube.com, website chia s
video ln nht hin nay, c trn 6 t video v 100 triu video c xem mi ngy.
Youtube ng th 3 trong bng xp hng thng lng website ca Alexa.

S cnh tranh gia cc website mng x hi v cc trang chia s video trc


tuyn l khng th trnh khi, bt c mt nh qun tr no cng mun tng s lng
ngi dng cng nh mun website ca mnh ngy cng ni ting. lm c
iu , ngoi ni dung hp dn v phong ph, website cn phi p ng c nhu
cu ca ngi dng mt cch tt nht. Vi 100 triu video c xem mi ngy, tnh
trung bnh mi giy c gn 1200 video c xem trn Youtube, con s ny i hi
Youtube phi c mt h thng server mnh m v linh hot. Mt website vi s
lng truy cp ngy cng tng s khin my ch ca website khng p ng
c ht nhu cu ca ngi dng v b qu ti.
Yu cu t ra i vi ngi qun tr website l cn phi gii quyt vn
qu ti ny, lm sao bt c ngi dng no truy cp vo website u c phc
v mt cch nhanh nht. lm c iu , ngi qun tr phi nng cp h
thng server. Ngha l, cn phi tng cu hnh my server hoc tng s lng
server, chnh l mt trong hai phng n m rng server: m rng theo chiu
dc (scaling up) v m rng theo chiu ngang (scaling out). M rng theo chiu
dc ngha l nng cp mt server c cu hnh ngy cng mnh hn ty theo nhu cu
ca ngi dng, phng php ny kh tt trong trng hp s lng ngi dng
khng nhiu tuy nhin gi thnh ca n t v kh nng m rng km. M rng
theo chiu ngang ngha l s dng mt h thng nhiu server nh vi chi ph thp
hn v mi server phc v mt lng ngi dng nht nh, phng php ny c
kh nng m rng tt (lp thm server khi cn) v hot ng kh hiu qu. Vi
nhng trang c s lng ngi truy cp nhiu v t l truy cp cao, cc nh qun tr
h thng thng la chn phng n th hai m rng theo chiu ngang.

Nng cp server cng ging nh l mt hot ng c chu k trong vng i


ca h thng. Khi h thng server khng p ng c nhu cu ca ngi dng, n
s c nng cp. Sau khi nng cp, tc ci thin s kin ngi tin tng vo
kh nng phc v ca website, s lng ngi dng li tng ln, h thng server li
khng p ng c nhu cu ca ngi dng v li cn nng cpVng lun qun
khin cc nh qun tr mong mun tm kim mt gii php no , m website
ca h c th hot ng n nh trong mt thi gian di, v d dng nng cp khi
cn thit. chnh l phng n m hu ht cc mng x hi v cc trang chia s
video trc tuyn nh myspace, google video chn - s dng kin trc web
vi kh nng m rng (scalable web architecture). Cch tip cn ny cho php
nh qun tr tng hiu nng ca h thng, cho kh nng m rng v kh nng c sn
cao, p ng c yu cu trong sut i vi ngi dng (user-transparent), tuy
nhin c rt nhiu thch thc cn phi vt qua xy dng c cc chc nng
ca mt h thng website trn nn trnh duyt web v HTTP.

xy dng c mt website theo kin trc ny, nh qun tr website phi


thit k mt cch nhp nhng cc thnh phn ca h thng, cc thnh phn chnh
bao gm xy dng h thng web-server, xy dng h thng database-server, qun l
session, thit k b cache cho hu ht cc thnh phn ca h thng. Mt website xy
dng theo kin trc ny khi mun nng cp m rng s theo chiu hng scaling
out, ngha l h thng s c nhiu web-server v nhiu database-server kt ni vi
nhau, khi cn m rng s lp t thm cc server mi.

Khi h thng c nhiu server th vn t ra l khi mt ngi dng truy cp


vo website, yu cu ca ngi dng s c chuyn n server no x l, ly
d liu database-sever no? Lm th no cc server trong h thng nhn c
lng ti ph hp vi server , m bo cho khng server no b qu ti? Lm sao
h thng c th p ng c s lng ngi dng cao nht? chnh l bi
ton cn bng ti (Load Balancing LB) cho cc server, cng chnh l phn quan
trng nht trong vic gi cho h thng hot ng n nh, l nhn t quyt nh n
kh nng p ng ngi dng ca h thng. Thut ng cn bng ti khng nhng
ch dng cho server, m cn dng trong hu ht cc thnh phn cn li ca kin trc
web vi kh nng m rng, l cn bng ti cho database, cn bng ti cho cache,
cn bng ti cho firewallMt website c cn bng ti tt s tn dng c cao
nht ngun lc sn c. Chng hn nh website vi 1 web-server c th p ng
c cho 1000 ngi dng cng lc, khi nng cp ln 4 servers, nu cn bng ti tt
s c kh nng p ng cho 4000 ngi cng lc, ngc li s ch c th p ng
c 2000 ngi, thm ch cn t hn s . Mt trang web c x l tt vn
cn bng ti s p ng c ngi dng mt cch tt nht v c kh nng m rng
cao.

cn bng ti cho cm server, cn phi xy dng cc b cn bng ti


(Load Balancer). Cc b cn bng ti ny c ci t gia ngi dng v h
thng server, nhn yu cu t pha ngi dng, sau chuyn chng n web-
server ph hp. B cn bng ti lc ng vai tr l web-server duy nht i vi
tt c mi ngi dng, ch cn truy cp n a ch cha b cn bng ti, ngi
dng s nhn c thng tin mnh cn, khng cn bit pha sau h thng c bao
nhiu server, cng khng cn nh a ch ca cc server ny. Vy lm cch no
xy dng c mt b cn bng ti hot ng hiu qu, nhm m bo ti c
phn phi mt cch cn i gia cc web-server?

Mt b cn bng ti cn p ng c hai yu cu chnh. Th nht, cng l


quan trng nht, l kh nng x l v chuyn yu cu ca ngi dng n server
ph hp, gii quyt vn ny, cn phi xy dng mt thut ton phn ti hot
ng mm do trn nhiu yu t khc nhau. Th hai, n cn phi kim tra v cp
nhp c cc thng s k thut cng nh trng thi ca cc server, kim tra xem
server no ang hot ng, server no ang tm ngh, server no va c thm vo
cm server, hay va c a ra ( sa cha, bo tr) trong h thng, kim tra
s thay i trong kh nng phc v (chng hn s kt ni ln nht) hay trng s ca
cc server. Gii quyt tt hai bi ton trn s cho ra mt b cn bng ti hot ng
hiu qu v n nh.

Cc b cn bng ti thng c chia ra lm hai loi: loi hot ng da trn


phn cng v hot ng da trn phn mm. Hot ng da trn phn cng ngha l
n s dng mt thit b phn cng hot ng tng mng (network layer) v tng
giao vn (transport layer) ca m hnh OSI, thit b ny c thit k trn m hnh
chuyn mch v n phn b ti rt hiu qu. Tuy nhin gi ca nhng thit b phn
ti ny thng rt t, vt ngoi kh nng ca nhng nh pht trin h thng va
v nh. B cn bng ti phn mm l mt phn mm c ci t trn mt my
ring bit hoc trn my server, lu gi a ch ca cc my server trong h thng
phn ti. B cn bng ti phn mm c kh nng phn ti km hn cc thit b
phn cng, tuy nhin gi thnh ca n r hn v ph hp vi cc nh pht trin h
thng va v nh, thm ch cn c rt nhiu phn mm m ngun m hot ng rt
tt. Mt phn mm hot ng hiu qu cng c kh nng phn ti tng ng vi
cc phn cng c gi thnh trung bnh. Hn na, d c s dng phn cng, cc
website vn cn phn mm h tr phn ti.

im mu cht trong hot ng ca cc b cn bng ti l thut ton phn


phi ti. Khng c mt thut ton no thc s ph hp cho mi mi trng. Vi
nhng iu kin h thng nht nh, yu cu t ra l phi chn thut ton no cho
ph hp. Cc thut ton phn ti ang c s dng thng c chia ra lm hai
loi chnh, l thut ton phn ti tnh v thut ton phn ti ng. Cc thut ton
phn ti tnh d thit k, hot ng n gin nhng hiu sut khng cao. Chng
c gi l thut ton tnh v phng php chn server gi yu cu tip theo
c da trn cc yu t tnh, khng thay i. Ngc li, cc thut ton phn ti
ng da trn cc nhn t ng, thay i lin tc, do cc thut ton ng ny
hot ng linh hot hn v p ng yu cu phn ti mt cch tt hn. Tuy vy
khng c mt thut ton no c th p ng c trong mi trng hp. Cn phi
c mt s kt hp mm do da cc thut ton ny mi c th xy dng c mt
b cn bng ti hot ng tt. Vic nghin cu cc thut ton phn ti mm do s
gip cho cc b cn bng ti hot ng hiu qu hn v p ng c nhu cu phn
ti cao hn.

Vi s bng n ca dch v web, s lng website ngy cng nhiu em n


cho ngi dng rt nhiu s la chn. tn ti v pht trin, cc website phi gi
c ngi dng hin ti ca mnh v li ko thm c nhiu ngi dng mi.
lm c iu ny, cc nh qun tr h thng phi m bo cho h thng ca mnh
hot ng tt nht, do yu cu lp t thm nhiu server mi cng nh yu cu
cn bng ti s cho cc server thc s l nhu cu cp thit. ng trc s cnh
tranh v gi thnh, vic pht trin v xy dng cc phn mm cn bng ti tr nn
v cng hu ch. ng trc yu cu , NVLV quyt nh tm hiu v nguyn l
hot ng cng nh cc thut ton cn bng ti nhm xy dng nn mt nn tng
vng chc v ch ny, t gp phn thc y qu trnh xy dng nn mt b
cn bng ti hot ng hiu qu c kh nng p ng nhu cu cho cc website ang
hot ng trong v ngoi nc.

2. Mc ch nghin cu
- Nghin cu tng quan v kin trc web vi kh nng m rng, tm hiu l
thuyt chung v cn bng ti server, cn bng ti database, cn bng ti cho
cache v qun l session.
- Tm hiu cc k thut cn bng ti cho web server, l thuyt xy dng b cn
bng ti cho web server v im mnh yu ca cc thut ton phn ti cho b
cn bng ti.
- Xy dng v ci t th nghim mt s thut ton cn bng ti c bn, thc
thi mt s thut ton cn bng ti tnh v cn bng ti ng.
- Tm hiu cch cu hnh cc b cn bng ti cng vi web server theo cc
iu kin khc nhau, nhm p ng c nhu cu tng h thng web ring
bit.

3. Kt cu lun vn

Trong khun kh bo co ny, NVLV xin trnh by kt qu tm hiu c


cng nh ci t th nghim mt s thut ton cn bng ti nht nh. Do ngun lc
v thi gian c hn, nn NVLV cha thc s xy dng c mt phn mm cn
bng ti hot ng thc s m ch c th ci t th nghim mt s thut ton cn
bng ti da trn mt b cn bng ti c sn. gip tip cn vn mt cch
nhanh nht, bo co ny c trnh by vi nhiu hnh nh sinh ng. Ni dung ca
bo co chia lm 4 chng nh sau:

Chng 1: Tng quan v kin trc web vi kh nng m rng.

Chng 2: K thut cn bng ti web-server, l thuyt xy dng b cn


bng ti cho webserver v cc thut ton phn ti cho b cn bng ti.

Chng 3: Trnh by v mi trng pht trin, cc phng n ci t b cn


bng ti vo mng, kt qu ci t thut ton, mt s ci tin cho cc thut
ton cn bng ti. Cch ci t v cu hnh b cn bng ti cho mt h thng
webserver c th

Chng 4: Kt lun v nh hng pht trin.

You might also like