Mietin että miksi ohjelmoijat tekevät monimutkaisia kuormituksen tasaajia servereille kun eikö olisi vain helpompaa tehdä siten että käyttäjä ohjataan sattuman varaisesti esim. yhdelle neljästä serveristä? Näin käyttäjät suurelta osin jakautisi tasaisesti kaikille servereille. Yksi ongelma jonka keksin on että huonossa tapauksessa yksi sereri joutuu ottamaan enemmän kävijöitä mutta ei kai tämä hirveästi haittaa koska se ehkä kasvattaa ihan vähän serverien määrän tarvetta.
E1ss kirjoitti:
(06.05.2019 09:37:22): Mietin että miksi ohjelmoijat tekevät...
Veikkaan, että monimutkaisissa kuormituksen tasaajissa data on paremmin synkassa, kuin esim. neljässä erillisessä (tai useamman) palvelimessa, joiden data on synkassa vain sillä hetkellä, kun data on monistettu.
Mainitsemasi esimerkki toimii vain ja ainoastaan, jos serveriltä tulee staattista tietoa (esim. kovakoodattuja html-sivuja), joiden sisältö ei muutu. Mutta useissa tapausissa käyttäjä pystyy lähettämään tietoa palvelimelle päin (esim. peli, tai vaikkapa somepalvelu), jolloin tieto pitää saada synkattua myös kaikille näille neljälle muullekin palvelimelle.
Eli jos tulee staattista sisältöä niin satunnainen jakaminen on kohtalainen ratkaisu?
No voisi sanoa että se on marginaalisesti parempi kuin "ei mitään". Ei se silti hyvä ole.
Otetaan esimerkiksi tilanne että yksi neljästä palvelimesta on nurin. Joka neljännelle käyttäjälle siis tulisi "palvelu ei toimi" ilmoitus.
Tuollainen satunnaisesti palvelimille ohjaaminen ei edes lähtökohtaisesti olisi kuorman tasaamista vaan ihan vaan kuorman jakamista.
Eikä kuormantasauksen tarvitse olla hirveän monimutkainen ollakseen tehokas. Esimerkiksi yhteyden ohjaaminen palvelimelle, jolla on sillä hetkellä nopein vasteaika on todella yksinkertainen mutta myös tehokas.
Okei pitää tutustua tarkemmin tuohon vasteajan tarkastamiseen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.