![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Sa tuwing lumalaki ang iyong system, tumataas ang trapiko, dumarami ang gumagamit ng iyong mga produkto, nagsisimulang tumugon ang mga server nang mas mabagal, pinipilit ng downtime na magdusa ang iyong negosyo pagkatapos ay magsisimula kang mag-isip tungkol sa pag-scale.
Mayroong dalawang pangunahing diskarte para sa pag-scale - patayo at pahalang.
Ang vertical scaling ay naglalayon na pataasin ang kapangyarihan ng system sa pamamagitan ng pagdaragdag ng karaniwang mas maraming CPU, at RAM sa iyong mga server.
Sa kabaligtaran, ang pahalang na pag-scale ay nakatuon sa pag-duplicate (o pag-clone) ng iyong mga server sa pool ng mga mapagkukunan.
Higit pa sa mga ito:
Ang vertical scaling ay ang pinakamahusay na opsyon para sa isang low-traffic system dahil ito ang pinaka-naa-access na diskarte para sa paghawak ng paglago nang hindi nagpapakilala ng karagdagang kumplikado. Hindi mo kailangang alalahanin ang tungkol sa pag-deploy ng mga diskarte para sa isang pangkat ng mga mapagkukunan, ang pagkalastiko ng pool ng mga mapagkukunan, ang statelessness ng iyong server, ang ipinamahagi na cache, at iba pa.
Gayunpaman, ang vertical scaling ay may mga seryosong disbentaha
Inaalis ng pahalang na pag-scale ang mga problemang ito sa pamamagitan ng pag-clone ng iyong mga server ng application at pag-embed ng isang bahagi gaya ng Load balancer .
Ang isang load balancer ay namamahagi ng trapiko sa iyong mga server gamit ang mga partikular na algorithm gaya ng:
Gayunpaman, mayroon itong ilang mga kawalan:
Para sa dalawang device sa internet na makipag-ugnayan sa isa't isa, kailangang sundin ng mga pinagbabatayan na system ang mga partikular na protocol. Narinig ng lahat ang tungkol sa modelo ng OSI, na naglalarawan ng pitong layer na ginagamit ng mga computer system upang makipag-usap sa isang network. Bagama't nakabatay ang modernong internet sa isang mas simpleng modelo ng TCP/IP protocol stack, malawakang ginagamit ang modelong OSI, dahil nakakatulong ito sa pag-visualize at pakikipag-usap kung paano gumagana ang mga network at tumutulong na ihiwalay at i-troubleshoot ang mga problema sa networking.
Karamihan sa mga solusyon sa pagbabalanse ng load ng industriya ay gumagamit ng mga terminong L4 at L7 kung saan ang L4 ay tumutukoy sa layer ng transportasyon sa modelo ng OSI at ang L7 ay tumutukoy sa layer ng aplikasyon.
Ang L4 load balancer ay L2/L3 pa rin dahil gumagamit ito ng data mula sa ibabang mga layer gaya ng IP address at port number.
Ito ay mas ligtas at gumaganap dahil ang nilalaman ng data ay hindi isinasaalang-alang sa paggawa ng mga pagpapasya sa pagruruta
Ang parehong koneksyon ng TCP ay humahawak sa pagitan ng kliyente at server, na tumutulong upang maiwasan ang paglampas sa limitasyon ng mga available na koneksyon sa TCP sa isang load balancer
Sa kabilang banda, gumagana ang L7 load balancer sa antas ng aplikasyon sa modelo ng OSI
Ang mga matalinong pagpapasya ay maaaring gawin batay sa path ng URL, mga header, nilalaman
Pag-cache
Ang load balancer ay isang mahalagang bahagi kapag inilapat ang pahalang na pag-scale upang pangasiwaan ang mga system na may mataas na trapiko. Mayroong dalawang pangunahing uri ng load balancers L4 at L7.
Ang L4 load balancer ay mas secure at gumaganap dahil sa mga limitasyon sa paggawa ng matalinong desisyon
Gumagana ang L7 load balancer sa isang paraan upang magbigay ng matalinong mga desisyon sa pagruruta dahil sa gastos ng kahusayan at seguridad
Ang pagpili ng naaangkop na uri ay depende sa mga kinakailangan ng system at dapat isaalang-alang nang mabuti nang may makatwirang balanse ng paglalapat ng mga prinsipyo sa seguridad at pag-aalis ng mga bottleneck sa pagganap.
Na-publish din dito.