Ikki bosqichli arxitekturaga misol
**"Mijoz — Server"** (inglizcha: *) — bu kompyuter yoki tarmoq arxitekturasi boʻlib, unda vazifalar yoki tarmoq yuki serverlar deb ataladigan xizmat koʻrsatuvchi provayderlar va mijozlar deb ataladigan xizmat koʻrsatuvchi mijozlar oʻrtasida taqsimlanadi. Aslida, mijoz va server dasturiy taʼminot hisoblanadi. Odatda, bu dasturlar turli xil kompyuterlarda joylashgan va bir-biri bilan kompyuter tarmogʻi orqali oʻzaro taʼsir qiladi tarmoq protokollari, lekin ular bir xil mashinada ham joylashgan boʻlishi mumkin. Server dasturlari mijoz dasturlaridan soʻrovlarni kutadi va ularni maʼlumotlar shaklida oʻz resurslari bilan taʼminlaydi beradi (masalan, HTTP, FTP, BitTorrent orqali fayllarni uzatish, oqimli media yoki maʼlumotlar bazalari bilan ishlash) yoki xizmat funksiyalari koʻrinishida (masalan, elektron pochta bilan ishlash, lahzali xabar almashish tizimlari orqali aloqa yoki World Wide Webda veb -sahifalarni koʻrish). Bitta server dasturi koʻplab mijoz dasturlari soʻrovlarini bajarishi mumkinligi sababli, u boshqa server dasturlari bilan birga, qoida tariqasida, maxsus tarzda tuzilgan maxsus ajratilgan kompyuterga joylashtiriladi, shuning uchun bu mashinaning ishlashi yuqori boʻlishi kerak boʻladi. Bunday mashinaning tarmoqdagi alohida roli, uning apparat va dasturiy taʼminotining oʻziga xos xususiyatlari tufayli uni server deb ham atashadi va mijoz dasturlarini bajaradigan mashinalar mos ravishda mijozlardir.*

Mijoz va serverning roli
------------------------

*Mijoz-server* xarakteristikasi dasturdagi oʻzaro taʼsir qiluvchi dasturlarning aloqasini tavsiflab beradi. Server komponenti bunday xizmatlarga soʻrovlarni boshlaydigan bir yoki bir nechta mijozlarga funksiya yoki xizmatni taqdim etadi. Serverlar taqdim etayotgan xizmatlarga qarab tasniflash mumkin. Masalan, veb-server veb-sahifalarga, fayl-server esa kompyuter fayllariga xizmat qiladi. Umumiy resurs dastur va maʼlumotlardan tortib protsessorlar va saqlash qurilmalarigacha boʻlgan server kompyuterining har qanday dasturiy taʼminoti va elektron komponentlari boʻlishi mumkin. Server resurslarini almashish — bu *xizmat*.

Kompyuter mijozmi, servermi yoki har ikkalasi ham xizmatlarni talab qiladigan ilovaning tabiati bilan belgilanadi. Misol uchun, veb-serverlar va fayl serveri dasturiy taʼminoti bir vaqtning oʻzida bir xil kompyuterda ishlashi mumkin, bu esa har xil turdagi soʻrovlarni yuboradigan mijozlar uchun turli xil maʼlumotlarni taqdim etadi. Mijoz dasturiy taʼminoti bir xil kompyuterdagi server dasturi bilan ham oʻzaro aloqada boʻlishi mumkindir. Serverlar oʻrtasidagi aloqa, masalan, maʼlumotlarni sinxronlashtirish uchun, baʼzan *serverlararo* deb ataladi.

Mijoz-server oʻzaro taʼsiri
---------------------------

Umuman olganda, xizmat kompyuter resurslarining mavhumligi boʻlib, mijoz soʻrov yuborish va javob berishda server qanday ishlashi haqida tashvishlanmasligi kerak. Mijoz javobni faqat maʼlum dastur protokoli, yaʼni soʻralgan xizmat uchun kontent va maʼlumotlarni formatlash asosida tushunishi kerak boʻladi.

Mijozlar va serverlar soʻrov-javob tartibida xabar almashadilar. Mijoz soʻrov yuboradi va server yuborilgan soʻrovga javob qaytaradi. Ushbu xabar almashish jarayonlararo aloqaning namunasidir. Muloqot qilish uchun kompyuterlar umumiy tilga ega boʻlishi kerak va ular mijoz va server nima kutishlarini bilishlari uchun qoidalarga rioya qilishlari kerak. Aloqa tili va qoidalari aloqa protokolida belgilanadi. Mijoz-server modelining barcha protokollari amaliy qatlamda ishlaydi. Ilova sathining protokoli asosiy suhbat shakllarini belgilaydi. Maʼlumotlar almashinuvini yanada rasmiylashtirish uchun server amaliy dasturlash interfeysini (API) amalga oshirishi mumkin. API — bu xizmatga kirish uchun abstraktsiya qatlami. Muayyan kontent formatiga havolani cheklash orqali u tahlil qilishni osonlashtiradi. Mavhum kirish orqali u platformalararo maʼlumotlar almashinuvini osonlashtiradi.

Server qisqa vaqt ichida turli xil mijozlarning soʻrovlarini qabul qilishi mumkin. Kompyuter har qanday vaqtda faqat cheklangan miqdordagi vazifalarni bajarishi mumkin va ularni qondirish uchun mijozlardan kiruvchi soʻrovlarni birinchi oʻringa qoʻyish uchun rejalashtirish tizimiga tayangan holda ishlaydi. Suiisteʼmollikning oldini olish va mavjudlikni maksimal darajada oshirish uchun server dasturlari mijozlar uchun mavjudligini cheklashi mumkin. Xizmat koʻrsatishni rad etish hujumlari serverning soʻrovlarni qayta ishlash mas’uliyatidan foydalanadi, bunday hujumlar serverni haddan tashqari koʻp soʻrovlar bilan yuklash orqali ishlaydi. Agar maxfiy maʼlumotlar mijoz va server oʻrtasida uzatilishi kerak boʻlsa, shifrlashdan foydalanish kerak.

Mijoz-server modeliga qoʻshimcha ravishda, taqsimlangan hisoblash ilovalari koʻp hollarda peer-to-peer arxitekturasidan foydalanadi.

Mijoz-server koʻpincha koʻplab mijozlarga xizmat koʻrsatadigan markazlashtirilgan tizim sifatida ishlab chiqilgan edi. Shunday qilib, server quvvati, xotirasi va saqlash talablari kutilgan yuk bilan oʻlchanishi kerak boʻladi. Yuklarni muvozanatlash va oʻchirish tizimlari koʻpincha bitta jismoniy mashinadan tashqari serverni oʻlchash uchun ishlatiladi. Peer-to-peer tarmogʻida ikki yoki undan ortiq kompyuterlar oʻz resurslarini birlashtiradi va markazlashtirilmagan tizimda oʻzaro taʼsir qiladi. Tengdosh tugunlar ierarxik boʻlmagan tarmoqdagi teng yoki ekvipotentsial tugunlardir. Mijoz-server yoki mijoz-navbat-mijoz arxitekturasidagi mijozlardan farqli oʻlaroq, tengdosh tugunlar bir-biri bilan bevosita muloqot qiladi. Peer-to-peer tarmogʻida, peer-to-peer aloqa protokolidagi algoritm yukni muvozanatlashtiradi va hatto kam resurslarga ega boʻlgan tengdoshlar ham yukni taqsimlashga yordam beradi. Agar tugun mavjud boʻlmasa, uning ulushlari boshqa tengdoshlar taklif qilganicha mavjud boʻlib qoladi. Ideal holda, tugunning yuqori mavjudlikka erishishi shart emas, chunki boshqa tugunlar har qanday resurs ishlamay qolish vaqtini qoplaydi. Tengdoshlarning mavjudligi va oʻtkazish qobiliyati oʻzgarganda, protokol soʻrovlarni qayta yoʻnaltiradi. Mijoz-server ham, master-qul ham taqsimlangan peer-to-peer tizimlarining pastki toifalari hisoblanadi.

Afzalliklari
------------

* Mijoz dasturlari tomonidan server dastur kodining takrorlanishi yoʻq.
* Barcha hisob-kitoblar serverda amalga oshirilganligi sababli, mijoz oʻrnatilgan kompyuterlarga qoʻyiladigan talablar kamayadi.
* Barcha maʼlumotlar serverda saqlanadi, bu, qoida tariqasida, koʻpchilik mijozlarga qaraganda ancha yaxshi himoyalangan. Serverda faqat tegishli kirish huquqiga ega boʻlgan mijozlarga maʼlumotlarga kirishga ruxsat berish uchun ruxsat nazoratini tashkil qilish osonroq.

Kamchiliklari
-------------

* Serverning ishlamay qolishi butun kompyuter tarmogʻini yaroqsiz holga keltirishi mumkin. Ishlamaydigan serverni unumdorligi barcha mijozlarga xizmat koʻrsatish uchun etarli boʻlmagan server, shuningdek, taʼmirlash, texnik xizmat koʻrsatish va hokazolarda boʻlgan server deb hisoblash kerak. P.
* Ushbu tizimning ishlashini qoʻllab-quvvatlash uchun alohida mutaxassis — tizim maʼmuri kerak.
* Uskunaning yuqori narxi.

Qatlamli mijoz-server arxitekturasi
-----------------------------------

**Koʻp darajali mijoz-server** arxitekturasi — bu mijoz-server arxitekturasining bir turi boʻlib, unda maʼlumotlarni qayta ishlash funksiyasi bir nechta alohida serverlarga joylashtiriladi. Bu serverlar va mijozlar imkoniyatlaridan samaraliroq foydalanish uchun maʼlumotlarni saqlashi, qayta ishlashi va taqdimi etish funksiyalarini ajratish imkonini beradi.

* Uch bosqichli arxitektura.

Maxsus server tarmogʻi
----------------------

**Maxsus serverga ega tarmoq** (inglizcha: *) — tarmoq qurilmalari markazlashtirilgan va bir yoki bir nechta serverlar tomonidan boshqariladigan mahalliy tarmoq (LAN). Shaxsiy ish stantsiyalari yoki mijozlar (masalan, shaxsiy kompyuter) server(lar) orqali tarmoq resurslariga kirishlari kerak boʻladi.*

Adabiyotlari
------------

* *Коржов Валерий.* „Многоуровневые системы клиент-сервер" (ru).  Издательство Открытые системы (1997-yil 17-iyun). 2011-yil 28-avgustda asl nusxadan arxivlangan. Qaraldi: 2010-yil 31-yanvar.

Manbalar
--------

1. ↑  „Mijoz - server (kompyuter yoki tarmoq arxitekturasi)".. Qaraldi: 7-oktyabr, 2022-yil.
2. ↑  „Mijoz - server (kompyuter yoki tarmoq arxitekturasi)".. Qaraldi: 7-oktyabr, 2022-yil.