Table of Contents[Hide][Show]
Qhov muaj ntawm daim ntawv thov yeej tsis tau ua tib zoo xav txog niaj hnub no thaum peb siv cov apps rau ntau tshaj li kev sib txuas lus, txawm tias tus kheej lossis kev tshaj lij thiab thaum cov apps yog kev lag luam.
Cov ntawv thov uas tsis tas li hauv online, lossis tsis ruaj khov, poob lawv cov neeg siv thiab qhov cuam tshuam, nws thiaj li dhau los ua tsis tiav. Nws tshwm sim hauv flash. Vim tias internet tsis tsaug zog thiab ua haujlwm 24 teev hauv ib hnub, 7 hnub hauv ib lub lis piam, tib lub tswv yim yuav tsum siv rau cov apps.
Scalability yog qhov tseem ceeb rau kev ua qhov no thiab ua kom ntseeg tau tias muaj daim ntawv thov. Load balancing yog ib qho tseem ceeb tshaj plaws nyob rau hauv kom ntseeg tau tias muaj. Ntau tus neeg tseem ntseeg tias kev sib npaug ntawm cov load tuaj yeem ua tiav nrog cov ntawv yooj yim.
Txawm li cas los xij, qhov no tsis yog li ntawd. Nws ib leeg muab kev nkag mus rau cov kev pab cuam thoob plaws ntiaj teb - txhua lub sijhawm thiab los ntawm txhua lub cuab yeej.
Hauv cov ntawv tshaj tawm no, peb yuav ua tib zoo saib qhov ntsuas qhov ntsuas, nws cov algorithms, thiab nws cuam tshuam li cas rau microservices, thiab lwm yam. Cia peb pib!
Dab tsi yog load balancing?
Raws li qhov kev thov rau lub vev xaib lossis daim ntawv thov kev lag luam loj hlob, ib tus neeg rau zaub mov sai sai yuav tsis tuaj yeem tuav tag nrho cov khoom thauj. Cov koom haum faib cov haujlwm ua haujlwm dhau los ntawm ntau lub servers txhawm rau ua kom tau raws li qhov xav tau. Txoj kev no, hu ua "load balancing," khaws ib tus neeg rau zaub mov kom tsis txhob overloaded, uas tuaj yeem ua rau nws qeeb, poob thov, lossis txawm tias poob.
Load balancing faib cov tsheb sib npaug sib npaug kom tsis txhob ua tsis tiav vim muaj peev txheej overload. Cov ntawv thov, cov vev xaib, databases, thiab lwm yam khoom siv hauv computer ua tau zoo dua thiab muaj ntau dua siv txoj kev no. Nws kuj pab ua kom raug thiab raws sijhawm ntawm cov neeg siv kev thov.
Los ntawm qhov kev xav ntawm tus neeg siv, kev sib npaug ntawm cov khoom siv ua haujlwm tsis pom qhov nruab nrab ntawm tus neeg siv khoom thiab kev sau ntawm cov servers, kom ntseeg tau tias kev sib txuas lus thov tsis poob. Cov ntawv thov, cov vev xaib, cov chaw khaws ntaub ntawv, thiab cov kev pabcuam online feem ntau yuav vau yog tias qhov kev thov tau dhau los ua qhov zoo heev yam tsis muaj qhov sib npaug.
Ntau pua txhiab tus neeg thov tuaj yeem xa mus rau ib lub vev xaib uas muaj neeg coob coob nyob rau tib lub sijhawm. Ntau lub servers yuav tsum tau sau cov nplooj ntawv web kom raug nrog cov ntsiab lus thov, xws li ntawv nyeem, duab, video, thiab suab streaming. Load balancing feem ntau yog ua hauj lwm nyob rau hauv high-traffic lub website server ua liaj ua teb, nrog rau DNS servers, databases, thiab File Transfer Protocol (FTP) sites.
Yog hais tias ib tug neeg rau zaub mov overburdened, qhov no yuav ua hauj lwm tsis zoo los yog txawm poob. Load balancers txo lub caij nyoog ntawm downtime los ntawm kev faib cov neeg siv thov tusyees ntawm ib tug sau ntawm servers. Yog tias ib qho ntawm cov servers hauv pab pawg ua tsis tiav, kev khiav tsheb mus rau lwm cov servers hauv pab pawg. Lub load balancer cia li ntxiv cov servers tshiab hauv cov txheej txheem kev xa tawm tsheb thaum lawv ntxiv rau cov neeg rau zaub mov.
Lub load ntsuas ua haujlwm li cas?
Nws ua haujlwm raws li hauv qab no:
- Thaum tus neeg siv tau txais kev thov, xws li los ntawm browser lossis daim ntawv thov, nws sim txuas nrog server.
- Thaum lub load balancer tau txais kev thov, nws xa nws mus rau ib qho ntawm cov servers hauv pawg neeg rau zaub mov raws li cov qauv tsim los ntawm algorithm (lossis ua liaj ua teb).
- Tus neeg rau zaub mov tau txais kev sib txuas lus thov thiab teb cov neeg siv khoom los ntawm kev sib npaug ntawm cov khoom thauj.
- Thaum lub load balancer tau txais cov lus teb, nws phim tus IP chaw nyob ntawm tus neeg siv khoom nrog tus IP chaw nyob ntawm tus neeg rau zaub mov xaiv. Tom qab ntawd, cov lus teb yog kis nrog pob ntawv.
- SSL offload yog txheej txheem ntawm decrypting cov ntaub ntawv siv Security Socket Layer encryption raws tu qauv kom cov servers tsis tas yuav.
- Cov txheej txheem rov ua dua kom txog thaum qhov kev sib kho tiav lawm.
Load Balancing Methods
Txhawm rau xaiv qhov twg ntawm cov servers hauv server ua liaj ua teb tau txais qhov kev thov tom ntej, txhua qhov kev ntsuas ntsuas siv cov txheej txheem. Muaj tsib txoj hauv kev rau kev sib npaug load:
- Hloov Plawv Kab Robin: Qhov no yog lub neej ntawd mus kom ze, thiab nws ua haujlwm ib yam li nws suab. Lub load balancer faib kev thov nyob rau hauv ib tug rotating qauv, pib nrog cov thawj neeg rau zaub mov nyob rau hauv pab pawg neeg thiab mus rau hauv qab, qhov twg nws tos kom hu rov qab. Txoj kev no ua kom ntseeg tau tias txhua tus neeg rau zaub mov tau tuav kwv yees tib tus lej ntawm kev sib txuas.
- Nyhav Round Robin: Txoj hauv kev no muab txhua tus neeg rau zaub mov qhov hnyav (lossis nyiam) uas feem ntau sib npaug rau nws lub peev xwm. Qhov kev thov ntau tus neeg rau zaub mov tau txais, qhov hnyav dua. Piv txwv li, ib tus neeg rau zaub mov nrog tus nqi hnyav ntawm ob tau txais ob zaug ntau qhov kev thov raws li tus neeg rau zaub mov nrog tus nqi hnyav ntawm ib qho.
- Ncua Sijhawm: Txoj hauv kev no, tseem hu ua kev sib tham tsis tu ncua, txuas qee cov neeg siv khoom thiab cov servers rau lub sijhawm ntawm kev sib kho. Txhawm rau tsim qhov txuas, tus load balancer siv lub ncuav qab zib lossis tus neeg siv tus IP chaw nyob los txheeb xyuas tus neeg siv tus cwj pwm. Thaum qhov kev sib txuas tau tsim, tus neeg siv cov lus thov raug coj mus rau tib lub server kom txog thaum qhov kev sib tham xaus. Qhov no optimizes network kev pab thaum tseem txhim kho cov neeg siv kev.
- Tsawg Kev Sib Txuas: Cov tswv yim no xav tias txhua qhov kev thov ua rau muaj kev sib npaug ntawm cov server. Yog li ntawd, tus neeg rau zaub mov uas tsawg tshaj plaws ntawm kev thov tau txais kev thov tom ntej.
- IP Hash: Qhov algorithm no tsim ib qho tseem ceeb hash raws li tus neeg siv khoom thiab tus neeg rau zaub mov qhov chaw thiab chaw nyob IP chaw nyob. Tus yuam sij yog siv los khiav qhov kev thov thiab tso cai rau kev sib txuas ploj nrog tib lub server kom rov pib dua.
Hardware Vs. Software Load Balancers
Hardware Load Balancer
Cov khoom siv lub cev, xws li cov khoom siv, ua rau cov khoom siv hluav taws xob sib npaug. Cov kev khiav tsheb mus rau cov servers nyob ntawm seb muaj pes tsawg tus kev sib txuas uas twb muaj lawm, kev siv processor, thiab kev ua haujlwm ntawm server. Hardware load balancers muaj tus tswv firmware uas yuav tsum tau khaws cia thiab hloov kho thaum tshiab versions thiab kev ruaj ntseg kho muaj.
Hardware load balancers feem ntau muab kev ua haujlwm siab dua thiab kev tswj hwm, nrog rau ntau yam kev muaj peev xwm xws li Kerberos authentication thiab SSL kho vajtse acceleration, tab sis lawv xav tau qee theem ntawm kev tswj hwm thiab kev paub txog kev tu. Vim hais tias hardware load balancers tsis hloov pauv thiab scalable tshaj software load balancers, muaj ib tug propensity rau over-provision hardware load balancers.
Software Load Balancer
Software load balancers feem ntau yooj yim los teeb dua lawv cov khoom siv kho vajtse. Lawv kuj tau txais txiaj ntsig zoo dua thiab hloov tau, thiab lawv ua haujlwm zoo nrog software txhim kho ib puag ncig. Cov txheej txheem software tso cai rau koj los kho cov load balancer rau koj ib puag ncig cov cai. Qhov kev hloov pauv tau tuaj yeem tuaj ntawm tus nqi ntawm lub sijhawm ntxiv siv los teeb tsa lub load balancer.
Software balancers muab kev hloov pauv ntau dua rau koj los hloov kho thiab hloov kho dua li kho vajtse, uas muaj ntau txoj hauv kev kaw. Prepackaged virtual machines tuaj yeem siv ua software load balancers (VMs). Cov tshuab virtual yuav txuag koj qee lub sijhawm teeb tsa, tab sis lawv yuav tsis muaj tag nrho cov haujlwm muaj nyob hauv lawv cov khoom siv kho vajtse.
Yooj yim Load Balancing Implementation
Peb yuav siv lub tsev qiv ntawv Spring Cloud rau tsim cov apps uas txuas mus rau lwm cov apps nyob rau hauv ib tug load-balanced yam. Thaum ua cov kev thov kev pab cuam tej thaj chaw deb, peb tuaj yeem tsim kho qhov sib npaug yooj yim siv cov txheej txheem twg peb nyiam. Xav txog cov cai hauv qab no ua piv txwv. Peb mam li pib nrog daim ntawv thov server yooj yim.
Tus neeg rau zaub mov tsuas yog muaj qhov kawg HTTP thiab yuav ua haujlwm hauv ntau zaus. Tom qab ntawd peb yuav tsim ib tus neeg siv khoom app uas siv Load Balancer los faib cov kev thov hla ntau zaus hauv server.
neeg rau zaub mov
Peb pib nrog ib qho yooj yim Caij nplooj ntoos hlav khau raj daim ntawv thov rau peb tus piv txwv server:
Txhawm rau pib, peb txhaj qhov hloov pauv hloov tau hu ua instance_ID. Qhov no pab peb paub qhov txawv ntawm ntau qhov xwm txheej uas ua haujlwm. Tom qab ntawd, peb tsim ib qho HTTP GET endpoint uas xa cov lus thiab piv txwv ID.
Lub neej ntawd piv txwv nrog ID 1 yuav ua haujlwm ntawm chaw nres nkoj 8080. Peb tsuas yog yuav tsum tau ntxiv ob peb qhov kev pab cuam tsis pub dhau qhov piv txwv thib ob:
Client
Tam sim no cia peb saib cov neeg siv khoom code. Qhov no yog qhov uas Load Balancer tuaj rau hauv, yog li cia peb pib los ntawm kev muab nws tso rau hauv peb daim ntawv thov:
Tom qab ntawd, peb tsim ib qho kev siv ntawm ServiceInstanceListSupplier. Qhov no yog ib qho tseem ceeb tshaj plaws interfaces hauv Load Balancer. Nws qhia meej tias peb nrhiav cov kev pabcuam siv tau li cas.
Peb yuav nyuaj-code ob qho piv txwv ntawm peb tus piv txwv server hauv peb daim ntawv thov qauv. Lawv khiav ntawm tib lub cev tab sis siv cov chaw nres nkoj cais:
Tsim ib chav LoadBalancerConfiguration tam sim no:
Cov chav kawm no tsuas muaj ib lub hom phiaj xwb: nws tsim ib qho kev sib npaug WebClient builder rau kev thov tej thaj chaw deb. Peb cov lus piav qhia siv lub npe cuav rau kev pabcuam.
Qhov no yog vim qhov tseeb tias peb feem ntau yuav tsis paub meej hostnames thiab chaw nres nkoj rau kev ua haujlwm ua ntej. Yog li ntawd, peb siv lub npe tsis tseeb los ua qhov chaw, thiab lub moj khaum yuav hloov cov ntaub ntawv tiag tiag thaum nws xaiv qhov ua piv txwv.
Tom ntej no, cia peb ua Configuration chav kawm uas yuav siv los ua kom peb cov kev pabcuam piv txwv. Nco ntsoov tias peb siv tib lub npe zoo li ua ntej:
Tam sim no peb tuaj yeem tsim cov neeg siv khoom tiag tiag. Cia peb xa 10 cov lus nug rau tus qauv neeg rau zaub mov siv WebClient taum los ntawm ua ntej:
Peb tuaj yeem pom los ntawm cov zis uas peb tab tom thauj khoom sib npaug ntawm ob qhov sib txawv:
Load Balancing hauv Microservices
Microservice architecture tau raug siv los ntawm ntau lub tuam txhab, xws li Netflix thiab Amazon, los tsim cov ntawv thov kev lag luam raws li cov kev pabcuam cuam tshuam. Hyperscale thiab kev xa mus tas li rau cov ntawv thov nyuaj tsuas yog ob qho laj thawj rau kev txav mus rau qhov kev faib tawm no, xoob txuas nrog architecture.
Cov tuam txhab lag luam no tau siv cov tswv yim Agile thiab DevOps txhawm rau tsim cov apps sai dua thiab nrog tus nqi qis dua li cov txheej txheem ib txwm muaj. Txawm li cas los xij, koj yuav tsum ua kom muaj kev sib npaug ntawm qhov kev faib khoom sib txawv thiab cov kev xav tau ntawm daim ntawv thov, ntsuas qhov xav tau, thiab kev txwv sijhawm rau kev ua lag luam.
Tau ntau xyoo, daim ntawv thov xa tuaj tswj hwm (ADCs) tau ua qhov tseem ceeb rau kev ua kom tau raws li cov kev xav tau ntawm kev pabcuam rau cov neeg siv khoom siv hauv tsev lossis hauv huab. Tus neeg siv khoom siv nrog microservices-raws li daim ntawv thov tsis tas yuav paub txog cov xwm txheej uas muab rau nws txhawm rau txhim kho cov neeg siv khoom thiab microservices ntawm nws tus kheej.
Qhov no yog precisely lub decoupling muab los ntawm ib tug reverse proxy los yog ib tug load balancer. Ib zaug ntxiv, kev ntsuas qhov ntsuas yog qhov kev daws teeb meem los xyuas kom meej tias cov kev pabcuam micro tuaj yeem ua raws li qhov xav tau, kev ruaj ntseg, thiab muaj.
Thaum koj muab cov tsoos North-South load sib npaug ntawm cov neeg siv khoom thiab microservices-based apps nrog East-West xa mus rau kab rov tav scalability, koj tau txais kev txhawb nqa ntau heev. Lub hom phiaj yog tswj kom muaj kev nyab xeeb thiab kev tswj hwm ib puag ncig uas xav tau los ntawm IT yam tsis muaj kev cuam tshuam kev loj hlob agility lossis DevOps automation uas yuav tsum tau.
cov kev pab cuam
Load ntsuas muab ntau yam txiaj ntsig los ntawm kev txhim kho kev siv cov peev txheej, xa cov ntaub ntawv, thiab lub sijhawm teb rau cov vev xaib thiab cov apps, nrog rau cov ntaub ntawv uas tau txais ntau cov lus nug. Load ntsuas kom ntseeg tau tias cov neeg siv kev thov tau ua tiav sai thiab raug nyob rau hauv cov xwm txheej loj.
Lawv txuag cov neeg siv qhov hnyav ntawm kev cuam tshuam nrog cov kev pab cuam qeeb thiab cov peev txheej. Load balancing kuj pab kom tsis txhob poob qis thiab ua kom yooj yim rau kev ruaj ntseg, txo qhov kev pheej hmoo ntawm kev poob peev thiab cov nyiaj tau los rau koj lub tuam txhab.
- Load balancing muab qhov yooj yim ntxiv thiab tshem tawm cov servers raws li qhov xav tau dictates, ntxiv rau kev tswj cov tsheb mus rau kev ua haujlwm zoo. Vim tias cov tsheb khiav mus rau lwm lub servers thaum lub sijhawm tu, nws kuj tseem ua tau los ua tus saib xyuas server yam tsis muaj kev cuam tshuam cov neeg siv.
- Load balancing muab built-in redundancy los ntawm kev faib tsheb khiav ntawm ib pawg servers. Koj tuaj yeem hloov pauv tam sim ntawd rau lwm lub servers yog tias ib qho ua tsis tiav, txo qhov cuam tshuam rau cov neeg siv.
- Yog tias daim ntawv thov lossis lub vev xaib siv loj tuaj, cov tsheb khiav tuaj yeem ua rau nws qhov kev ua tau zoo yog tias tsis ua haujlwm zoo. Nrog rau kev sib npaug, koj tuaj yeem ntxiv cov server tiag lossis virtual kom tau raws li qhov xav tau yam tsis muaj kev cuam tshuam kev pabcuam. Lub load balancer txheeb xyuas cov servers tshiab thaum lawv tuaj hauv online thiab siv zog ua ke rau hauv kev ua haujlwm. Txoj kev no yog qhov zoo dua los hloov lub vev xaib los ntawm cov neeg rau zaub mov overburdened mus rau ib qho tshiab, uas feem ntau cuam tshuam nrog qee lub sijhawm.
xaus
Load balancing yog ib qho tseem ceeb ntawm cov khoom siv niaj hnub no, kev ua txhaum cai. Peb tuaj yeem tsim cov apps uas faib cov lus thov rau ntau qhov kev pabcuam siv ntau yam kev ntsuas kev ntsuas. Cov lag luam yuav tsum txhawb nqa cov txheej txheem IT nyuaj kom muab cov ntawv thov kom ruaj ntseg.
Hla-domain microservices configuration, xa mus, thiab kev saib xyuas tej zaum yuav ua yuam kev, kim, thiab siv sij hawm. IT yuav tsum siv automation, visibility, analytics, thiab orchestration cov kev coj ua zoo tshaj plaws thiab cov thev naus laus zis uas sib haum nrog lawv cov txheej txheem agile thiab DevOps los ua kom teeb tsa thiab kho cov microservices yooj yim dua.
Sau ntawv cia Ncua