Client-server

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

Клиент сервер моделот кај компјутерите е апликациска структура која ги дели одговорностите или работните задачи помеѓу провајдерите на ресурси или услуги, наречени сервери, и барателите на услуги наречени клиенти. Често, клиентите и серверите комуницираат преку компјутерска мрежа на различен хардвер, но, и двата, и клиентот и серверот можат да живеат на истиот систем. Серверската машина е домаќинот кој работи на еден или повеќе серверски програми, кои ги споделуваат своите ресурси со клиентите. Клиентот не споделува ниту еден од своите ресурси, но ги бара серверските содржини или сервисни функции. Клиентите според тоа иницираат комуникациски сесии со серверите кои чекаат дојдовни барања.

Опис[уреди]

Карактеристиките на клиент-сервер моделот ја опишуваат поврзаноста помеѓу програмите во апликацијата. Серверот овозможува функции или сервиси од еден или повеќе клиенти, кои пратиле барања за истите. Функциите, како што се размената на електронска пошта, пристапот до интернет и пристапот до базите со податоци, се изградени врз основа на клиент-сервер моделот. Корисниците пристапуваат до банкарските сервиси од своите компјутери, користејќи веб пребарувач за да испратат барање до веб серверот на банката. Таа програма може да го препрати барањето од неговата програма - клиент, која ги чува податоците, која пак испраќа барање до серверот со бази на податоци на друга банка, за да ја врати информацијата на корисникот. Состојбата се враќа до базата на податоци на банката, која за возврат ја испраќа назад до веб пребарувачот-клиент, прикажувајќи му го резултатот на корисникот. Клиент сервер моделот стана една од главните идеи на поврзувањето на компјутерите. Многу бизнис апликации кои постојат денес го користат клиент-сервер моделот. Истото го прават и главните интернет апликацицки протоколи, како што се HTTP, SMTP, Telnet и DNS. Интеракцијата помеѓу клиентот и серверот често се опишува со помош на секвенцни дијаграми. Секвенцните дијаграми се стандардизирани во UML. Специфични типови на клиенти се: веб пребарувачите, електронската пошта, и клиентите за online конверзација. Специфични типови на сервери се: веб серверите, ftp, апликациските, серверите на бази на податоци, mail серверите, file серверите,print серверите и terminal серверите.

Споредба со архитектурата за рамноправен пристап[уреди]

Во архитектурата за рамноправен пристап, секој домаќин или програма може истовремено да биде и клиент и сервер, тогаш и двата имаат ист статус и исти одговорности. И двата, и клиент-сервер и архитектурата за рамноправен пристап се во широка употреба денес. Деталите можат да се најдат во Comparison of Centralized (Client-Server) and Decentralized (Peer-to-Peer) Networking

Предности[уреди]

  • Во повеќето случаи, клиент-сервер архитектурата овозможува улогите и одговорностите на компјутерскиот систем да бидат дистрибуирани низ повеќе независни компјутери кои се препознаваат меѓусебно само преку мрежа. Ова ја создава дополнителната предност на оваа архитектура, олеснато одржување. На пример, возможно е да се премести, поправи, надогради, дури и да се релоцира серверот додека неговите клиенти остануваат свесни, и немаат влијание од таа промена.
  • Сите податоци се чуваат на серверите, кои обично имаат поголеми безбедносни контроли од повеќето клиенти. Серверите можат подобро да ги контролираат ресурсите и пристапот и да гарантираат дека само оние клиенти кои ги имаат соодветните привилегии можат да пристапат до податоците и да вршат нивна измена
  • Бидејќи чувањето на податоците е централизирано, обновувањето на тие податоци е многу полесно во споредба со P2P мрежите. Во нив обновувањето на податоците може да треба да биде распределено на секој пер во мрежата, што одзема повеќе време и е склоно кон грешки, бидејќи може да има илјадници па дури и милиони перови.
  • Многу клиент-сервер технологии се веќе достапни што се направени да овозможат сигурност, кои имаат добар интерфејс за корисниците и се едноставни за употреба.
  • Функционира со повеќе различни клиенти со различни можности.

Недостатоци[уреди]

  • Како што бројот на истовремени барања од страна на клиентите расте, серверот може да стане преоптоварен. За разлика од P2P мрежата, кај која, како што се зголемува бројот на јазли, така пропусниот опсег на мрежата се зголемува, бидејќи целокупниот пропусен опсег на P2P мрежата може да биде грубо пресметан како сум од пропусните опсези на секој јазол во мрежата.
  • Клиент-сервер моделот има помала робустност за разлика од добра P2P мрежа. Кај P2P мрежите ресурсите, обично се распределуваат низ повеќе јазли. Дури и ако еден или повеќе јазли се оттргнат и го напуштат директориумот што се симнува, на пример, останатите јазли би требало сеуште да ги имаат податоците потребни за да се заврши симнувањето.

Наводи[уреди]

1."Distributed Application Architecture".Sun Microsystem.Retrieved 2009-06-16.