Dünaamiline liikluse marsruutimine vs fikseeritud päringuga marsruutimine
Dünaamiline liikluse marsruutimine kohandab päringuteeti reaalajas serveri tervise, latentsuse ja koormuse põhjal, samas kui fikseeritud päringute marsruutimine saadab iga päringu etteantud sihtkohta olenemata muutuvatest tingimustest. Need kaks lähenemisviisi erinevad tänapäevaste pilvesüsteemide puhul oluliselt vastupidavuse, skaleeritavuse ja operatiivse keerukuse poolest.
Esiletused
Dünaamiline marsruutimine reageerib serveri seisukorrale sekunditega, samas kui fikseeritud marsruutimine ootab käsitsi värskendusi.
Fikseeritud marsruutimine on oluliselt lihtsam, kuid ei paku serverite rikke korral automaatset tõrkesiirdet.
Geograafiline ja latentsusajast sõltuv marsruutimine on sisuliselt ainuomane dünaamilisele liikluse haldamisele.
Mis on Dünaamiline liikluse marsruutimine?
Reaalajas päringute jaotusmeetod, mis kohandub serveri tingimuste, võrgu latentsuse ja liikluskoormusega mitmes taustsüsteemis.
Jälgib pidevalt serveri tervist aktiivsete ja passiivsete sondide abil, suunates rikkis sõlmedest sekundite jooksul eemale.
Kasutab koormuse nutikaks tasakaalustamiseks selliseid algoritme nagu kaalutud ringjada, vähimühenduste arv ja järjepidev räsimine.
Tavaliselt rakendatakse koormuse tasakaalustajate, näiteks AWS ALB, NGINX Plus, HAProxy ja Envoy proxy kaudu.
Toetab geograafilist ja latentsuspõhist marsruutimist, suunates kasutajad lähimasse või kiireimasse saadaolevasse piirkonda.
Saab integreerida teenindusvõrgu platvormidega nagu Istio ja Linkerd, et tagada detailne ja poliitikapõhine liikluse juhtimine.
Mis on Fikseeritud päringute marsruutimine?
Staatiline päringute levitamise meetod, kus iga sissetulev päring saadetakse eelnevalt määratletud sihtkohta ilma käitusaja kohandusteta.
Marsruudid konfigureeritakse käsitsi või DNS-kirjete kaudu, mis pärast seadistamist harva muutuvad, muutes käitumise väga etteaimatavaks.
Sageli tugineb see lihtsale ringjada DNS-ile või rakenduse konfiguratsioonifailides kõvakodeeritud IP-aadressidele.
Nõuab ebatervislike serverite rotatsioonist eemaldamiseks käsitsi sekkumist, tavaliselt konfiguratsioonivärskenduste kaudu.
Levinud pärandsüsteemides, väikesemahuliste juurutuste ja stabiilsete ning prognoositavate liiklusmustritega keskkondades.
Puudub natiivne tugi reaalajas tervisekontrollideks, seega võivad ebaõnnestunud taustsüsteemid liiklust vastu võtta kuni käsitsi eemaldamiseni.
Võrdlustabel
Funktsioon
Dünaamiline liikluse marsruutimine
Fikseeritud päringute marsruutimine
Marsruudiotsuse aeg
Reaalajas, päringu kohta
Konfiguratsiooni ajal
Tervisekontrolli tugi
Sisseehitatud aktiivne ja passiivne sondeerimine
Manuaalne või puudub
Kohandumine koormusega
Automaatne skaleerimine ja tasakaalustamine
Staatiline jaotus
Rikete taastamine
Sekundid, automaatne tõrkesiire
Vajalik on käsitsi sekkumine
Konfiguratsiooni keerukus
Kõrgem algseadistus
Lihtne ja arusaadav
Geograafiline teadlikkus
Latentsus ja geograafiline põhine poliitika
Tavaliselt piirkonnale kinnitatud
Tüüpilised kasutusjuhud
Mikroteenused, globaalne SaaS, e-kaubandus
Sisemised tööriistad, pärandrakendused, väikesed saidid
Rakendamise maksumus
Kõrgem tänu tööriistadele ja jälgimisele
Madalam, sageli DNS-iga tasuta
Üksikasjalik võrdlus
Kuidas iga lähenemisviis teeb marsruutimisotsuseid
Dünaamiline liikluse marsruutimine hindab iga sissetulevat päringut praeguste taustsüsteemi tingimuste suhtes, valides sihtkohad reaalajas mõõdikute, näiteks reageerimisaja, aktiivsete ühenduste ja protsessori koormuse põhjal. Fikseeritud päringute marsruutimine seevastu teeb oma marsruutimisotsuse üks kord seadistamise ajal ja rakendab seda ühtlaselt kogu liiklusele. See põhimõtteline erinevus mõjutab kõike alates tõrgete käsitlemisest kuni selleni, kui hästi iga süsteem ettearvamatu nõudluse korral skaleerub.
Vastupidavus ja rikketaluvus
Kui dünaamilises seadistuses serveripoolne süsteem maastub, tuvastab koormuse tasakaalustaja rikke tervisekontrollide abil ja peatab liikluse saatmise sellele sõlmele peaaegu kohe. Fikseeritud marsruutimisel sellist teadlikkust pole, seega võivad päringud jõuda surnud serverisse, kuni keegi seda märkab ja konfiguratsiooni värskendab. Missioonikriitiliste rakenduste puhul on see automaatse tõrkesiirde vahe sageli otsustav tegur kahe lähenemisviisi vahel.
Skaleeritavus muutuva koormuse korral
Dünaamilised süsteemid on head siis, kui liikluspiigid tabavad piirkondi või teenuseid ebaühtlaselt, sest need suudavad koormuse koheselt nihutada tervemate või vähem koormatud serveriserverite poole. Fikseeritud marsruutimine jaotab liikluse ühtlaselt olenemata serveri tegelikust koormusest, mis võib viia mõnede sõlmede ülekoormuseni, samal ajal kui teised jäävad jõudeolekusse. See muudab dünaamilise marsruutimise paremini sobivaks pilvepõhiste töökoormuste jaoks, mis skaleeruvad horisontaalselt kogu päeva jooksul.
Tegevuse keerukus ja maksumus
Dünaamilise marsruutimise seadistamine nõuab investeerimist koormuse tasakaalustaja tarkvarasse või hallatud teenustesse, tervisekontrollide konfigureerimist ja jälgitavustööriistade haldamist marsruutimisotsuste tegemiseks. Fikseeritud marsruutimine on oluliselt lihtsam, sageli piisab DNS-i A-kirjest või konfiguratsioonifaili kirjest, mis hoiab tegevuskulud madalad. Kompromiss seisneb selles, et lihtsus tuleb paindlikkuse hinnaga ja meeskonnad võivad selle lihtsuse eest hiljem katkestuste korral maksta.
Parima sobivusega stsenaariumid
Dünaamiline liikluse marsruutimine on standardvalik mikroteenuste arhitektuuride, globaalsete SaaS-platvormide ja kõigi süsteemide puhul, kus tööaeg ja jõudlus mõjutavad otseselt tulu. Fikseeritud päringute marsruutimisel on endiselt koht väiksemates rakendustes, sisemistes tööriistades ja pärandkeskkondades, kus liiklusmustrid on stabiilsed ja koormuse tasakaalustaja maksumus pole õigustatud. Paljud organisatsioonid kasutavad tegelikult mõlemat, kasutades fikseeritud marsruutimist mittekriitiliste teenuste jaoks ja dünaamilist marsruutimist klientidega suhtlevate lõpp-punktide jaoks.
Plussid ja miinused
Dünaamiline liikluse marsruutimine
Eelised
+Automaatne tõrkesiire
+Reaalajas koormuse tasakaalustamine
+Geoteadlik marsruutimine
+Skaala vastavalt nõudlusele
Kinnitatud
−Kõrgem seadistuskulu
−Keerulisem konfiguratsioon
−Vajab jälgimisvahendeid
−Kerge latentsusaeg
Fikseeritud päringute marsruutimine
Eelised
+Lihtne seadistada
+Madalad tegevuskulud
+Ennustatav käitumine
+Lisatööriistu pole vaja
Kinnitatud
−Automaatset tõrkesiirdet ei ole
−Ignoreerib serveri tervist
−Halb ebaühtlase koormuse all
−Vajalik on käsitsi skaleerimine
Tavalised eksiarvamused
Müüt
Fikseeritud marsruutimine on alati odavam, kuna see ei vaja koormuse tasakaalustajat.
Tõelisus
Kuigi fikseeritud marsruutimine aitab vältida koormuse tasakaalustaja tasusid, on rikete tõttu tekkinud seisakute maksumus sageli suurem kui need säästud. Üks tund seisakut keskmise suurusega e-kaubanduse saidil võib maksta tuhandeid, mistõttu on dünaamilise marsruutimise tõrkesiirde funktsioon investeeringut väärt.
Müüt
Dünaamiline marsruutimine lisab liiga palju latentsust, et olla jõudluskriitiliste rakenduste jaoks kasulik.
Tõelisus
Kaasaegsed koormuse tasakaalustajad lisavad mikrosekundeid lisakoormust, mis on tühine võrreldes latentsusaja kokkuhoiuga, mis tekib kasutajate suunamisel lähimasse või kõige tervemasse serverisse. Enamasti vähendab dünaamiline marsruutimine tegelikult otsast lõpuni reageerimise aega.
Müüt
DNS-põhine fikseeritud marsruutimine on globaalsete rakenduste jaoks sama hea kui dünaamiline marsruutimine.
Tõelisus
DNS-i marsruutimisel on TTL-viivitused, mille levik võib võtta minuteid või tunde, ja kliendid salvestavad DNS-i tulemusi sageli agressiivselt vahemällu. Dünaamilised marsruutimisotsused tehakse päringu ajal, mis annab liikluse jaotuse üle palju täpsema ja vahetuma kontrolli.
Müüt
Kui olete dünaamilise marsruutimise seadistanud, ei pea te seda enam kunagi puudutama.
Tõelisus
Dünaamilised marsruutimissüsteemid nõuavad tervisekontrolli lävede, kaalumisalgoritmide ja marsruutimispoliitikate pidevat häälestamist vastavalt liiklusmustrite arengule. Need vähendavad käsitsi sekkumist, kuid ei välista vajadust operatiivse tähelepanu järele.
Müüt
Fikseeritud marsruutimine on iganenud ja keegi ei kasuta seda enam.
Tõelisus
Fikseeritud marsruutimine on endiselt levinud sisemistes tööriistades, väikeettevõtete veebisaitidel ja pärandsüsteemides, kus liiklus on prognoositav ja koormuse tasakaalustaja maksumus pole õigustatud. See pole vananenud, vaid sobib kitsamale kasutusjuhtude hulgale.
Sageli küsitud küsimused
Mis on peamine erinevus dünaamilise ja fikseeritud päringute marsruutimise vahel?
Põhiline erinevus seisneb marsruutimisotsuse tegemise ajal. Dünaamiline marsruutimine hindab iga päringu puhul taustasüsteemi tingimusi ja kohandab teid reaalajas, fikseeritud marsruutimine aga teeb otsuse üks kord konfigureerimise ajal ja rakendab seda kogu liiklusele. See mõjutab kõike alates tõrkesiirde kiirusest kuni selleni, kui hästi igaüks liikluse järskude tõusudega toime tuleb.
Milline marsruutimismeetod on mikroteenuste jaoks parem?
Dünaamiline liikluse marsruutimine on mikroteenuste puhul selge võitja, kuna see saab marsruutida teenuse tervise, eksemplari koormuse ja isegi päringute päiste põhjal. Teenusevõrgu tööriistad, nagu Istio ja Linkerd, on loodud spetsiaalselt dünaamilise marsruutimise kontseptsioonide ümber, mistõttu on need hädavajalikud kümnete või sadade sõltumatute teenuste haldamiseks.
Kas dünaamilist ja fikseeritud marsruutimist saab samas süsteemis kombineerida?
Jah, paljud organisatsioonid kasutavad hübriidlähenemist, kus fikseeritud marsruutimine haldab mittekriitilist sisemist liiklust ja dünaamiline marsruutimine haldab klientidega suhtlevaid lõpp-punkte. Kihilise kontrolli tagamiseks saate kasutada ka fikseeritud DNS-marsruutimist piirkondlikul tasandil ja dünaamilist koormuse tasakaalustamist igas piirkonnas.
Kui kiiresti dünaamiline marsruutimine serveri rikkele reageerib?
Enamik tänapäevaseid koormuse tasakaalustajaid tuvastab aktiivsete tervisekontrollide abil tõrkeid 2–10 sekundi jooksul ja peatab seejärel kohe liikluse saatmise ebatervislikku serverisse. Passiivsed tervisekontrollid suudavad reageerida veelgi kiiremini, jälgides tegelikke päringute veamäärasid reaalajas.
Kas pilvekeskkondades kasutatakse endiselt fikseeritud marsruutimist?
Fikseeritud marsruutimine esineb endiselt pilvesüsteemides, eriti lihtsate töökoormuste, sisemiste API-de ja ajakohastamata pärandrakenduste puhul. Enamik pilvepõhiseid arhitektuure kasutab aga vaikimisi dünaamilist marsruutimist selliste teenuste kaudu nagu AWS ALB, Azure Load Balancer või GCP Load Balancing.
Milliseid algoritme kasutavad dünaamilised ruuterid liikluse jaotamiseks?
Levinud algoritmide hulka kuuluvad ringjada algoritm, kaalutud ringjada algoritm, vähim ühendusi, vähim reageerimisaeg, IP-räsi algoritm ja järjepidev räsimine. Täiustatud süsteemid kasutavad masinõppemudeleid, mis ennustavad koormust ja marsruuti vastavalt, kuigi need on tootmises veel suhteliselt haruldased.
Kas dünaamiline marsruutimine töötab konteinerorkestreerimisplatvormidega?
Absoluutselt. Näiteks Kubernetes kasutab liikluse jaotamiseks podide vahel dünaamilist marsruutimist teenuste, sisenemiskontrollerite ja teenusevõrkude kaudu. Kui pod'id skaleeruvad üles või alla, värskendatakse marsruutimiskihti automaatselt ilma käsitsi konfiguratsiooni muutmata.
Kui palju maksab dünaamiline marsruutimine võrreldes fikseeritud marsruutimisega?
Hallatud koormuse tasakaalustaja teenused maksavad tavaliselt tunnis pluss gigabaidi töödeldud andmete eest, mis võib suure liiklusega rakenduste puhul kokku liita. Ise hostitud lahendused nagu NGINX või HAProxy on tasuta, kuid nende seadistamine ja hooldamine nõuavad inseneriaega. Fikseeritud marsruutimine DNS-i abil on sisuliselt tasuta lisaks tavapärastele DNS-i hostimistasudele.
Kas dünaamiline marsruutimine aitab siniroheliste juurutuste puhul?
Jah, dünaamiline marsruutimine sobib ideaalselt sinakasroheliste ja ebaühtlaste juurutuste jaoks, kuna kaalutud marsruutimisreeglite abil saab liiklust versioonide vahel järk-järgult suunata. See võimaldab teil uusi versioone enne täielikku juurutamist väikese protsendi kasutajatega testida, vähendades halbade juurutuste riski.
Mis juhtub, kui dünaamiline ruuter ise rikki läheb?
See on tõsine mure, mistõttu tootmiskeskkonna juurutused käitavad tavaliselt koormuse tasakaalustajaid kõrge käideldavusega paarides mitmes käideldavustsoonis. Pilveteenuse pakkujad tegelevad sellega automaatselt, samas kui ise hostitud seadistused vajavad ühe rikkepunkti tekkimise vältimiseks redundantseid eksemplare koos tõrkemehhanismidega.
Otsus
Valige dünaamiline liikluse marsruutimine, kui tööaeg, jõudlus ja automaatne tõrkesiire on olulised, eriti klientidega suhtlevate rakenduste puhul, millel on muutuv liiklus. Lihtsate, vähese liiklusega või sisemiste süsteemide puhul, kus lihtsus ja minimaalsed taristukulud kaaluvad üles reaalajas kohanemisvõime eelised, kasutage fikseeritud päringute marsruutimist.