SaaS-arkkitehtuuri ja startup-kehitys · Oppitunti

Kuormantasaus ja palveluiden etsintä

Ymmärtäkää, miten SaaS-taustajärjestelmät jakavat liikennettä useiden instanssien kesken kuormantasaajien, terveystarkistusten ja palveluiden etsinnän avulla.

Oppitunti 4/413 vaihetta

Kuormantasaus ja palveluiden etsintä on ilmainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu SaaS-arkkitehtuuri ja startup-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.

Kuormantasaamisen tarve

Kun yksi palvelin ei pysty käsittelemään kaikkea liikennettä, käynnistätte useita kopioita. Kuormantasaaja sijoitetaan niiden eteen jakamaan saapuvat pyynnöt näille instansseille.

Tämä on SaaS-taustajärjestelmien horisontaalisen skaalauksen perusta.

Miten kuormantasaaja toimii

Asiakkaat muodostavat yhteyden yhteen osoitteeseen. Kuormantasaaja vastaanottaa pyynnön ja välittää sen yhdelle taustapalvelimista sekä välittää vastauksen takaisin.

Asiakkaalle klusteri näyttää yhdeltä tehokkaalta palvelimelta.

Round robin

Yksinkertaisin algoritmi on round robin: pyynnöt annetaan palvelimille vuorotellen. Jokainen palvelin saa yhtä suuren osuuden.

const servers = ['s1', 's2', 's3'];
let i = 0;
function next() {
  const s = servers[i % servers.length];
  i++;
  return s;
}
console.log(next(), next(), next(), next());

Pienin yhteysmäärä

Pienimmän yhteysmäärän menetelmä reitittää uuden pyynnön palvelimelle, jolla on tällä hetkellä vähiten aktiivisia yhteyksiä.

Se mukautuu round robin -menetelmää paremmin, kun pyyntöjen kestot vaihtelevat.

Taso 4 vs. taso 7

Kuormantasaajat toimivat verkkopinon eri tasoilla:

  • Taso 4 (siirtotaso) — reitittää IP-osoitteen ja portin perusteella, erittäin nopeasti
  • Taso 7 (sovellustaso) — tutkii HTTP:tä ja voi reitittää URL-polun tai otsakkeiden perusteella

Taso 7 mahdollistaa älykkään reitityksen, kuten /api:n lähettämisen yhteen pooliin ja /staticin toiseen.

Kuntotarkistukset

Kuormantasaajan on vältettävä liikenteen lähettämistä toimimattomille palvelimille. Se suorittaa säännöllisiä kuntotarkistuksia jokaiselle instanssille.

Yleinen malli on /health-päätepiste, joka palauttaa 200 OK, kun sovellus on valmis.

app.get('/health', (req, res) => {
  res.status(200).json({ status: 'ok' });
});

Istunnon kiinnitys

Jotkin sovellukset tallentavat istunnon tilan palvelimen muistiin. Istunnon kiinnitys ohjaa asiakkaan aina samalle palvelimelle, jotta istunto säilyy.

Parempi käytäntö on pitää palvelimet tilattomina ja tallentaa istunnot jaettuun tallennuspaikkaan, jolloin mikä tahansa palvelin voi käsitellä minkä tahansa pyynnön.

Palveluiden etsintä

Dynaamisissa ympäristöissä palvelimia tulee jatkuvasti lisää ja poistuu käytöstä. Palveluiden etsintä ylläpitää ajantasaista rekisteriä olemassa olevista ja terveistä instansseista.

Consulin, etcd:n ja Kubernetes-palveluiden kaltaiset työkalut automatisoivat tämän.

Asiakaspuolen ja palvelinpuolen etsintä

Kaksi mallia:

  • Palvelinpuolen etsintä — asiakkaat ottavat yhteyden kuormantasaajaan, joka kysyy rekisteriltä
  • Asiakaspuolen etsintä — asiakkaat kysyvät rekisteriltä suoraan ja valitsevat instanssin itse

Palvelinpuoli on yksinkertaisempi, kun taas asiakaspuoli vähentää yhden verkkohypyn.

Autoskaalauksen integrointi

Kuormantasaajat toimivat yhdessä autoskaalauksen kanssa: liikenteen kasvaessa uusia instansseja käynnistyy, ne rekisteröityvät palveluiden etsintään ja kuormantasaaja alkaa reitittää niille liikennettä automaattisesti.

Liikenteen vähentyessä instanssit poistetaan hallitusti, kun yhteydet on ensin käsitelty loppuun.

Hallitttu yhteyksien tyhjennys

Ennen instanssin sulkemista kuormantasaajan tulee lopettaa uusien pyyntöjen lähettäminen mutta antaa nykyisten pyyntöjen valmistua. Tätä kutsutaan yhteyksien tyhjennykseksi.

Se estää pyyntöjen katkeamisen käyttöönottojen ja kapasiteetin pienentämisen aikana.

Pikatarkistus

Testatkaa kuormantasauksen tuntemustanne.

Kertaus

Opitte, miten SaaS-taustajärjestelmät jakavat liikennettä:

  • Kuormantasaajat round robin- ja pienimmän yhteysmäärän menetelmillä
  • Tason 4 ja tason 7 reititys sekä kuntotarkistukset
  • Tilaton suunnittelu, palveluiden etsintä ja hallitttu yhteyksien tyhjennys

Yhdessä nämä mahdollistavat taustajärjestelmän horisontaalisen skaalauksen ja vikasietoisuuden.

Aloita maksutta

Opi SaaS-arkkitehtuuri ja startup-kehitys tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Kuormantasaus ja palveluiden etsintä” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa SaaS-arkkitehtuuri ja startup-kehitys-oppimispolun 3 oppituntia, myös oppitunnin “Kuormantasaus ja palveluiden etsintä”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Kuormantasaus ja palveluiden etsintä”?

Ymmärtäkää, miten SaaS-taustajärjestelmät jakavat liikennettä useiden instanssien kesken kuormantasaajien, terveystarkistusten ja palveluiden etsinnän avulla. Harjoittelet SaaS-arkkitehtuuri ja startup-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni SaaS-arkkitehtuuri ja startup-kehitys-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin SaaS-arkkitehtuuri ja startup-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Kuormantasaus ja palveluiden etsintä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä SaaS-arkkitehtuuri ja startup-kehitys-oppitunnilla?

Kyllä. Jokainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Vaakasuoran skaalauksen tekniikat
  2. Viestijonot ja tapahtumaohjautuvuus
  3. Palvelimettoman arkkitehtuurin perusteet
  4. Kuormantasaus ja palveluiden etsintä
← Takaisin: SaaS-arkkitehtuuri ja startup-kehitys