Klient-server

Arvutiteaduses on klient-server tarkvaraarhitektuuri mudel, mis koosneb kahest osast, kliendisüsteemidest ja serversüsteemidest, mis mõlemad suhtlevad arvutivõrgu kaudu või samas arvutis. Klient-teener rakendus on hajutatud süsteem, mis koosneb nii kliendi- kui ka servertarkvarast. Klient-serverrakendus pakub paremat võimalust töökoormuse jagamiseks. kliendiprotsess algatab alati ühenduse serveriga, samal ajal kui serveriprotsess ootab alati mis tahes kliendi päringuid.

Kui nii kliendiprotsess kui ka serveriprotsess töötavad samas arvutis, nimetatakse seda ühe koha seadistuseks.

Teist tüüpi seotud tarkvaraarhitektuuri tuntakse kui peer-to-peer, sest iga host või rakendusinstants võib toimida samaaegselt nii kliendi kui ka serverina (erinevalt klient-teener mudeli tsentraliseeritud serveritest) ja kuna mõlemal on samaväärsed kohustused ja staatus. Peer-to-peer-arhitektuuride puhul kasutatakse sageli lühendit P2P.

Kliendi ja serveri suhe kirjeldab kliendi vahelist suhet ja seda, kuidas ta esitab serverile teenuse taotluse ning kuidas server saab neid taotlusi vastu võtta, neid töödelda ja kliendile soovitud teavet tagastada. Kliendi ja serveri vahelist suhtlust kirjeldatakse sageli järjestusdiagrammide abil. Järjestusdiagrammid on standardiseeritud ühtses modelleerimiskeeles (Unified Modeling Language).

Tänapäeval on laialdaselt kasutusel nii klient-teener kui ka P2P-arhitektuurid.

Klient-server tarkvara põhitüüp kasutab ainult kahte tüüpi hoste: kliente ja servereid. Seda tüüpi arhitektuuri nimetatakse mõnikord kahetasandiliseks. Kahetasandiline arhitektuur tähendab, et klient toimib ühe tasandina ja serveriprotsess toimib teise tasandina.

Klient-server tarkvaraarhitektuur on muutunud üheks põhiliseks võrguarvutite mudeliks. Klient-server-mudelit kasutades on kirjutatud palju erinevaid rakendusi. Standardsed võrgufunktsioonid, nagu e-posti vahetus, veebi ja andmebaaside juurdepääs, põhinevad kliendi-server-mudelil. Näiteks veebibrauser on kasutaja arvutis asuv kliendiprogramm, mis võib pääseda ligi mis tahes veebiserveri teabele maailmas.

Võrgupõhine võrk.Zoom
Võrgupõhine võrk.

Ühe serveri põhinev võrk.Zoom
Ühe serveri põhinev võrk.

Klientide omadused

  • Algatab alati päringud serveritele.
  • Ootab vastuseid.
  • Saab vastuseid.
  • Ühendub tavaliselt korraga väikese arvu serveritega.
  • Tavaliselt suhtleb otse lõppkasutajatega, kasutades mis tahes kasutajaliidest, näiteks graafilist kasutajaliidest.

Serveri omadused

  • Oodake alati ühe kliendi taotlust.
  • Teenindab klientide taotlusi ja vastab seejärel klientidele soovitud andmetega.
  • Server võib suhelda teiste serveritega, et teenindada kliendi taotlust.
  • Kui päringu töötlemiseks on vaja lisateavet (või kui rakendatakse turvameetmeid), võib server enne päringu töötlemist nõuda kliendilt täiendavaid andmeid (paroole).
  • Lõppkasutajad ei suhtle tavaliselt otse serveriga, vaid kasutavad klienti.

Eelised

  • Enamasti võimaldab klient-server-arhitektuur arvutisüsteemi rollide ja vastutuse halvenemist jaotada mitme sõltumatu arvuti vahel, mis on üksteisele teada ainult võrgu kaudu, seega on selle mudeli üheks eeliseks suurem hoolduslihtsus. Näiteks on võimalik server välja vahetada, parandada, uuendada või isegi ümber paigutada, samas kui selle kliendid jäävad sellest muudatusest teadmatuks ja puutumata. Sellist muutustest sõltumatust nimetatakse ka kapseldamiseks.
  • Kõiki andmeid hoitakse serverites, mille turvakontrollid on üldiselt paremad kui enamikul klientidel. Serverid saavad paremini kontrollida juurdepääsu ja ressursse, et tagada, et ainult need kliendid, kellel on asjakohased õigused, saavad andmetele ligi ja neid muuta.
  • Kuna andmete säilitamine on tsentraliseeritud, on nende andmete uuendamine haldajatele palju lihtsam kui P2P-arhitektuuri puhul. P2P-arhitektuuri puhul võib olla vajalik andmete ajakohastamine ja selle rakendamine iga "peer'ile" võrgus, mis on nii aeganõudev kui ka veaohtlik, kuna peer'eid võib olla tuhandeid või isegi miljoneid.
  • Paljud täiustatud kliendi-server-tehnoloogiad on juba kättesaadavad, mis on loodud turvalisuse, kasutajasõbralike liideste ja kasutusmugavuse tagamiseks.
  • See töötab mitme erineva spetsifikatsiooniga kliendiga.

Puudused

  • Võrkude liikluse blokeerimine on üks klient-server-mudeliga seotud probleemidest. Kui üheaegsete kliendipäringute arv teatavale serverile suureneb, võib server muutuda ülekoormatuks. Vastupidiselt P2P-võrgule, mille ribalaius tegelikult suureneb, kui lisandub rohkem sõlmi, sest P2P-võrgu üldist ribalaiust saab ligikaudselt arvutada kui iga võrgu sõlme ribalaiuste summat.
  • Võrreldes klient-server mudelit ja peer to peer mudelit, siis kui üks server ei tööta, ei saa klientide taotlusi teenindada, kuid P2P-võrkude puhul on serverid tavaliselt jaotatud paljude sõlmede vahel. Isegi kui üks või mitu sõlme ebaõnnestub, näiteks kui üks sõlme ei suuda faili alla laadida, peaks ülejäänud sõlmedel ikkagi olema andmed, mida on vaja allalaadimise lõpuleviimiseks.

Näited

Küsimused ja vastused

K: Mis on klient-server tarkvaraarhitektuur?


V: Klient-server tarkvaraarhitektuur on mudel, mis koosneb kahest osast, kliendisüsteemidest ja serversüsteemidest, mis mõlemad suhtlevad arvutivõrgu kaudu või samas arvutis.

K: Kuidas töötab klient-server rakendus?


V: Klient-teener rakendus on hajutatud süsteem, mis koosneb nii kliendi- kui ka servertarkvarast. Kliendiprotsess algatab alati ühenduse serveriga, samal ajal kui serveriprotsess ootab alati mis tahes kliendi päringuid.

K: Mis juhtub, kui nii kliendiprotsess kui ka serveriprotsess töötavad samas arvutis?


V: Kui nii kliendiprotsess kui ka serveriprotsess töötavad samas arvutis, nimetatakse seda ühe koha seadistuseks.

K: Milliseid eeliseid pakub kliendiserverrakenduse kasutamine?


V: Kliendiserverirakenduse kasutamine võimaldab paremini jagada töökoormust mitme arvuti või kasutaja vahel.

K: Kes algatab ühendused kliendiserverirakendustes?


V: Klientide serverirakendustes algatab ühendused alati kliendiprotsess.


K: Kes ootab kliendiserverrakendustes taotlusi?


V: Kliendiserverrakendustes ootab taotlusi alati serveriprotsess.

K: Kuidas saavad mitu arvutit või kasutajat jagada töökoormust omavahel?


V: Mitu arvutit või kasutajat saavad töökoormust jagada, kasutades jaotatud süsteemi, näiteks Kliendiserverrakendust.

AlegsaOnline.com - 2020 / 2023 - License CC3