SaaS-arkkitehtuuri ja startup-kehitys · Oppitunti

Vaakasuoran skaalauksen tekniikat

Tutustutte menetelmiin, joilla kuormaa jaetaan useille palvelimille, kuten kuormantasaamiseen, automaattiseen skaalaukseen ja tilattomien palveluiden suunnitteluun.

Oppitunti 1/412 vaihetta

Vaakasuoran skaalauksen tekniikat on ilmainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 1/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.

SaaS-palvelun skaalaaminen

Kuvitelkaa, että SaaS-sovelluksenne saa yhtäkkiä tuhansia uusia käyttäjiä! Miten käsittelette kasvavan kuormituksen ilman palvelun hidastumista tai kaatumista?

Tässä tilanteessa tarvitaan horisontaalista skaalausta. Siinä työkuorma jaetaan lisäämällä koneita sen sijaan, että yhdestä koneesta tehtäisiin tehokkaampi.

Vertikaalinen ja horisontaalinen skaalaus

Sovelluksen skaalaamiseen on kaksi pääasiallista tapaa:

  • Vertikaalinen skaalaus (scaling up): Yhden palvelimen resursseja lisätään (esimerkiksi CPU:ta tai RAM-muistia). Tällä tavalla on rajansa, ja se voi tulla kalliiksi.
  • Horisontaalinen skaalaus (scaling out): Olemassa olevaan palvelinjoukkoon lisätään palvelimia ja kuormitus jaetaan niiden kesken. Tämä on usein joustavampi ja kustannustehokkaampi tapa kasvattaa SaaS-palvelua.

Kuormantasaajien tarve

Kun käytössä on useita palvelimia, miten varmistetaan, että saapuvat käyttäjäpyynnöt lähetetään vapaana olevalle palvelimelle eikä vain kuormiteta yhtä palvelinta liikaa?

Tämä on kuormantasaajan tehtävä. Se toimii liikenteenohjaajana palvelinten edessä ja jakaa saapuvan verkkoliikenteen tasaisesti niiden kesken.

Kuormantasaus käytännössä

Kuormantasaaja varmistaa, ettei yksittäisestä palvelimesta muodostu pullonkaulaa. Jos jokin palvelin on varattu tai vikaantuu, kuormantasaaja ohjaa liikenteen älykkäästi terveille ja vähemmän kuormitetuille palvelimille.

Tämä parantaa sovelluksen reagointia, lisää saatavuutta ja vahvistaa käyttäjien kokonaisluotettavuutta.

Älykäs liikenteen jakaminen

Kuormantasaajat käyttävät erilaisia algoritmeja päättääkseen, minne liikenne ohjataan:

  • Round Robin: Pyynnöt lähetetään palvelimille vuorotellen.
  • Vähiten yhteyksiä: Liikenne ohjataan palvelimelle, jolla on vähiten aktiivisia yhteyksiä.
  • IP-hajautus: Asiakkaan IP-osoite yhdistetään tiettyyn palvelimeen, mikä on hyödyllistä istunnon pysyvyyden ylläpitämisessä.

Pyyntöjen kulun simulointi

Tässä on yksinkertaistettu Python-esimerkki, joka näyttää, miten pyynnöt voidaan jakaa round robin -periaatteella palvelinjoukolle:

def distribute_request(servers, request_id, current_server_index):
    selected_server = servers[current_server_index % len(servers)]
    print(f"Request {request_id} routed to {selected_server}")
    return (current_server_index + 1) % len(servers)

if __name__ == "__main__":
    available_servers = ["Server A", "Server B", "Server C"]
    server_idx = 0
    print("Simulating 5 requests being distributed:")
    for i in range(1, 6):
        server_idx = distribute_request(available_servers, i, server_idx)

Skaalaus tarpeen mukaan

Automaattinen skaalaus tarkoittaa, että laskentaresurssien määrää palvelinryhmässä säädetään automaattisesti tarpeen mukaan.

Jos liikenne kasvaa äkillisesti, palvelimia lisätään. Jos liikenne vähenee, palvelimia poistetaan. Tämä säästää kustannuksia ja varmistaa suorituskyvyn.

Milloin skaalata ylös tai alas

Automaattisen skaalauksen järjestelmät käyttävät mittareita päättääkseen, milloin toimia:

  • Suorittimen käyttöaste: Jos suorittimen keskimääräinen käyttöaste ylittää 70 %, palvelin lisätään.
  • Verkon I/O: Jos verkkoliikenne ylittää tietyn raja-arvon, kapasiteettia kasvatetaan.
  • Jonojen pituudet: Jos viestijonossa odottavien viestien määrä kasvaa liian suureksi, työntekijöitä lisätään.

Skaalautuvuuden suunnittelu: tilattomuus

Tehokkaan horisontaalisen skaalauksen saavuttamiseksi palvelujen tulisi olla tilattomia. Tämä tarkoittaa, että jokainen asiakkaalta tuleva pyyntö sisältää kaikki sen käsittelyyn tarvittavat tiedot eikä palvelin tallenna asiakaskohtaisia tietoja pyyntöjen välillä.

Miksi tämä on tärkeää? Koska mikä tahansa palvelin voi käsitellä minkä tahansa pyynnön. Näin palvelimia on helppo lisätä tai poistaa käyttäjäistuntoja häiritsemättä.

Tilattomuus ja tilallisuus selitettyinä

Verrataan näitä:

  • Tilaton: Palvelimet käsittelevät pyynnöt toisistaan riippumatta. Esimerkki: yksinkertainen API, joka palauttaa tietoja. Käyttäjän istuntotiedot tallennetaan ulkoisesti, esimerkiksi tietokantaan tai välimuistiin.
  • Tilallinen: Palvelimet muistavat aiemmista vuorovaikutuksista saadut tiedot. Esimerkki: palvelin, joka säilyttää käyttäjän ostoskorin muistissaan. Tämä vaikeuttaa skaalausta, koska käyttäjän on aina palattava samalle palvelimelle.

Horisontaalisessa skaalauksessa kannattaa aina pyrkiä tilattomiin palveluihin.

Skaalauksen tietotesti

Mitkä seuraavista ovat keskeisiä hyötyjä, joita horisontaalisen skaalauksen ja tilattoman palvelusuunnittelun käyttöönotto tuo SaaS-sovelluksessa?

Horisontaalisen skaalauksen kertaus

Hienoa työtä! Tässä oppitunnissa tutustuimme SaaS-palvelujen horisontaalisen skaalauksen keskeisiin tekniikoihin:

  • Horisontaalinen skaalaus: Palvelimia lisätään kuorman jakamiseksi.
  • Kuormantasaajat: Ne ovat välttämättömiä saapuvan liikenteen jakamiseksi useille palvelimille.
  • Automaattinen skaalaus: Palvelinten määrää säädetään automaattisesti tarpeen mukaan.
  • Tilaton suunnittelu: Se on olennaista, jotta palveluja voidaan helposti skaalata ulospäin ja mikä tahansa palvelin voi käsitellä minkä tahansa pyynnön.

Nämä tekniikat ovat skaalautuvien ja vikasietoisten SaaS-alustojen rakentamisen perusta.

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 ”Vaakasuoran skaalauksen tekniikat” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa SaaS-arkkitehtuuri ja startup-kehitys-oppimispolun 3 oppituntia, myös oppitunnin “Vaakasuoran skaalauksen tekniikat”. 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 ”Vaakasuoran skaalauksen tekniikat”?

Tutustutte menetelmiin, joilla kuormaa jaetaan useille palvelimille, kuten kuormantasaamiseen, automaattiseen skaalaukseen ja tilattomien palveluiden suunnitteluun. 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 1/4.

Kuinka kauan ”Vaakasuoran skaalauksen tekniikat”-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