Klientas-serveris

Kompiuterių moksle klientas-serveris yra programinės įrangos architektūros modelis, kurį sudaro dvi dalys - kliento sistema ir serverio sistema, bendraujančios kompiuterių tinkle arba tame pačiame kompiuteryje. Kliento ir serverio programa yra paskirstyta sistema, sudaryta iš kliento ir serverio programinės įrangos. Kliento ir serverio taikomoji programa suteikia geresnį darbo krūvio paskirstymo būdą. kliento procesas visada inicijuoja ryšį su serveriu, o serverio procesas visada laukia bet kurio kliento užklausų.

Kai kliento procesas ir serverio procesas veikia tame pačiame kompiuteryje, tai vadinama vienos vietos sąranka.

Kitas susijusios programinės įrangos architektūros tipas vadinamas lygiaverte architektūra, nes kiekvienas kompiuterio arba taikomosios programos egzempliorius vienu metu gali veikti ir kaip klientas, ir kaip serveris (kitaip nei centralizuoti serveriai kliento ir serverio modelyje) ir kiekvienas iš jų turi lygiavertę atsakomybę ir statusą. Peer-to-peer architektūros dažnai sutrumpintai vadinamos akronimu P2P.

Kliento ir serverio ryšys apibūdina kliento santykį ir tai, kaip jis pateikia serveriui paslaugos užklausą ir kaip serveris gali priimti šias užklausas, jas apdoroti ir grąžinti klientui prašomą informaciją. Kliento ir serverio sąveika dažnai aprašoma naudojant sekos diagramas. Sekų diagramos standartizuotos unifikuotoje modeliavimo kalboje.

Šiandien plačiai naudojamos tiek kliento ir serverio, tiek P2P architektūros.

Pagrindiniame kliento ir serverio programinės įrangos architektūros tipe naudojami tik dviejų tipų kompiuteriai: klientai ir serveriai. Šis architektūros tipas kartais vadinamas dviejų lygių architektūra. Dviejų pakopų architektūra reiškia, kad klientas veikia kaip viena pakopa, o serverio procesas - kaip kita pakopa.

Kliento ir serverio programinės įrangos architektūra tapo vienu iš pagrindinių tinklo kompiuterijos modelių. Naudojant kliento ir serverio modelį parašyta daugybė taikomųjų programų. Standartinės tinklo funkcijos, tokios kaip keitimasis elektroniniu paštu, prieiga prie interneto ir prieiga prie duomenų bazių, yra pagrįstos kliento ir serverio modeliu. Pavyzdžiui, žiniatinklio naršyklė yra vartotojo kompiuteryje esanti kliento programa, kuri gali pasiekti bet kuriame pasaulio žiniatinklio serveryje esančią informaciją.

"Peer-to-peer" tinklas.Zoom
"Peer-to-peer" tinklas.

Vieno serverio tinklas.Zoom
Vieno serverio tinklas.

Klientų charakteristikos

  • Visada inicijuoja užklausas serveriams.
  • Laukia atsakymų.
  • Gauna atsakymus.
  • Paprastai vienu metu jungiamasi prie nedidelio skaičiaus serverių.
  • Paprastai tiesiogiai bendrauja su galutiniais vartotojais naudodamas bet kokią naudotojo sąsają, pvz., grafinę naudotojo sąsają.

Serverio charakteristikos

  • Visada laukite vieno iš klientų užklausos.
  • Aptarnauja klientų užklausas ir atsako klientams su prašomais duomenimis.
  • Serveris, norėdamas aptarnauti kliento užklausą, gali bendrauti su kitais serveriais.
  • Jei užklausai apdoroti reikia papildomos informacijos (arba užtikrinamas saugumas), prieš apdorodamas užklausą serveris gali paprašyti kliento pateikti papildomų duomenų (slaptažodžių).
  • Galutiniai naudotojai paprastai tiesiogiai nesusisiekia su serveriu, o naudoja klientą.

Privalumai

  • Daugeliu atvejų kliento ir serverio architektūra leidžia kompiuterinės sistemos vaidmenis ir atsakomybę paskirstyti keliems nepriklausomiems kompiuteriams, kurie vienas kitą pažįsta tik per tinklą, todėl vienas iš šio modelio privalumų yra lengvesnė priežiūra. Pavyzdžiui, galima pakeisti, suremontuoti, atnaujinti ar net perkelti serverį, o jo klientai lieka nežinioje ir jų tas pakeitimas nepaveikia. Šis nepriklausomumas nuo pokyčių dar vadinamas hermetizacija.
  • Visi duomenys saugomi serveriuose, kurie paprastai turi geresnes saugumo kontrolės priemones nei dauguma klientų. Serveriai gali geriau kontroliuoti prieigą ir išteklius, kad tik atitinkamus leidimus turintys klientai galėtų pasiekti ir keisti duomenis.
  • Kadangi duomenų saugykla yra centralizuota, šių duomenų atnaujinimus administruoti daug lengviau nei P2P architektūroje. P2P architektūroje duomenų atnaujinimus gali tekti paskirstyti ir taikyti kiekvienam tinklo "bendraamžiui", o tai užima daug laiko ir kelia klaidų, nes bendraamžių gali būti tūkstančiai ar net milijonai.
  • Jau sukurta daug pažangių kliento ir serverio technologijų, kuriomis siekiama užtikrinti saugumą, patogias sąsajas ir paprastą naudojimą.
  • Jis veikia su keliais skirtingų specifikacijų klientais.

Trūkumai

  • Tinklų srauto blokavimas yra viena iš problemų, susijusių su kliento ir serverio modeliu. Didėjant vienu metu į tam tikrą serverį gaunamų klientų užklausų skaičiui, serveris gali būti perkrautas. Palyginkite tai su P2P tinklu, kurio pralaidumas iš tikrųjų didėja, kai pridedama daugiau mazgų, nes bendrą P2P tinklo pralaidumą galima apytiksliai apskaičiuoti kaip kiekvieno to tinklo mazgo pralaidumų sumą.
  • Lyginant kliento ir serverio modelį su "Peer to Peer" modeliu, jei vienas serveris neveikia, klientų užklausos negali būti įvykdytos, tačiau P2P tinkluose serveriai paprastai yra paskirstyti tarp daugelio mazgų. Net jei vienas ar daugiau mazgų sugenda, pavyzdžiui, jei mazgui nepavyko atsisiųsti failo, likusieji mazgai vis tiek turėtų turėti duomenų, reikalingų atsisiuntimui užbaigti.

Pavyzdžiai

Klausimai ir atsakymai

K: Kas yra kliento ir serverio programinės įrangos architektūra?


A: Kliento ir serverio programinės įrangos architektūra - tai modelis, sudarytas iš dviejų dalių, kliento sistemų ir serverio sistemų, kurios abi bendrauja kompiuterių tinkle arba tame pačiame kompiuteryje.

K: Kaip veikia kliento ir serverio programa?


A: Kliento ir serverio programa yra paskirstyta sistema, sudaryta iš kliento ir serverio programinės įrangos. Kliento procesas visada inicijuoja ryšį su serveriu, o serverio procesas visada laukia užklausų iš bet kurio kliento.

K: Kas atsitinka, kai kliento ir serverio procesai veikia tame pačiame kompiuteryje?


A: Kai ir kliento procesas, ir serverio procesas veikia tame pačiame kompiuteryje, tai vadinama vienos vietos sąranka.

K: Kokių privalumų suteikia kliento serverio taikomosios programos naudojimas?


A.: Naudojant kliento serverio taikomąją programą galima geriau dalytis darbo krūviu tarp kelių kompiuterių ar naudotojų.

K: Kas inicijuoja prisijungimus Kliento serverio taikomosiose programose?


A: Kliento serverio programose visada inicijuoja Kliento procesas.


K: Kas laukia užklausų Kliento serverio programose?


A.: Serverio procesas visada laukia užklausų Kliento serverio programose.

K: Kaip keli kompiuteriai ar naudotojai gali dalytis darbo krūviu tarpusavyje?


A: Keli kompiuteriai ar naudotojai gali dalytis darbo krūviu naudodami paskirstytąją sistemą, pvz.

AlegsaOnline.com - 2020 / 2023 - License CC3