Mijoz-server arxitekturasi, tuzilishi va asosiy tushunchalari

|
Mijoz-server arxitekturasi, tuzilishi va asosiy tushunchalari
|
bet | 129/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Bir qarashda ikkita amaliy dasturlar o‘rtasida aloqani tashkil etish sodda ishdek tuyiladi, ulardan biri mahalliy qismda va ikkinchisi masofadan ishlatiladi. Ammo bu yondashuvni amalga oshirishda ko‘plab savollar tug‘iladi. Ushbu savollardan ba’zilari quyidagilar bo‘lishi mumkin:
Har ikkala amaliy dasturlar ham xizmatlar uchun so‘rovlar jo‘natish va xizmatlarni taqdim qilish imkoniyatiga ega bo‘lishi kerakmi, yoki, ulardan biri faqat so‘rov jo‘natish va ikkinchisi faqat xizmatni ta’minlash imkoniyatiga ega bo‘lishi kerakmi? Buning yechimlaridan biri mahalliy mashinada ishlovchi va xizmatlar uchun so‘rov jo‘natuchi mijoz deb nomlanuvchi amaliy dasturning ishlatilishi, va masofadagi mashinada so‘rovlarga mos xizmatni ta’minlovchi server deb ataladigan amaliy dasturning mavjud bo‘lishidir. Boshqacha qilib aytganda, so‘rovlar jo‘natish va xizmat bilan ta’minlash bir-biridan ajratilgan. Amaliy dastur yoki so‘rovlar jo‘natuvchi mijoz, yoki xizmatni ta’minlovchi server bo‘lishi kerak. Ushbu amaliy dasturlar birgalikda qo‘llanilib, bir hil nom bilan – mijoz va server deb yuritiladi.
Server faqat bitta maxsus mijoz uchun xizmat taqdim etishi kerakmi, yoki istalgan mijozning server ta’minlay oladigan xizmatlariga bo‘lgan so‘rovlariga javob berishi kerakmi? Eng keng tarqalgan yechim bu –ixtiyoriy mijozning server ta’minlay oladigan xizmatlarga so‘rovini qo‘llab-quvvatlashdir, bunda maxsus xizmatlar nazarda tutilmaydi. Boshqacha aytganda, server – mijoz munosabati birni – ko‘pga tamoyiliga asoslanadi.
Kompyuter faqat yagona amaliy dasturni ishlatishi kerakmi (mijoz yoki server)? Agar kerakli amaliy dasturiy ta’minot mavjud bo‘lsa, Internetga ulangan ixtiyoriy kompyuter mijoz dasturini ishlata olishi kerak. Server dasturlari doimiy ishlovchi kompyuterlarda ishlatilishi kerak bo‘ladi. Bu haqida keyingi matnlarda batafsil yoritilgan.
Qachon amaliy dastur ishlatilishi kerak? Har doimmi yoki faqat xizmatga ehtiyoj sezilgandami? Umuman olganda, xizmatga so‘rov yuboruvchi mijoz dasturi faqat xizmatga ehtiyoj tug‘ilganda ishlatiladi. Lekin xizmatlar bilan ta’minlovchi server dasturi doimiy ishlashi talab etiladi. Chunki, uning xizmatlariga mijozlar tomonidan ehtiyoj qachon paydo bo‘lishi va so‘rovlar yuborilishi haqida ma’lumot mavjud bo‘lmaydi.
Foydalanuvchi istagan ixtiyoriy xizmatlarni taqdim etuvchi yagona, universal amaliy dasturiy ta’minot bo‘lishi kerakmi? Yoki har bir xizmat uchun alohida dasturiy ta’minot bo‘lishi talab etiladimi? TCP/IPda ko‘plab mijozlar tomonidan tez-tez so‘rov jo‘natiladigan xizmatlar uchun mijoz-server amaliy dasturlar mavjud. Masalan, fayllarga kirish, elektron pochta jo‘natmalari va boshqa xizmatlar uchun alohida mijoz-server amaliy dasturlar mavjud. Moslashtirilgan xizmatlardan foydalanish uchun masofadagi kompyuterda mavjud bo‘lgan ushbu xizmatni foydalanuvchilarga taqdim etuvchi yagona umumiy amaliy dastur bo‘lishi kerak. Masalan, shunday mijoz-server amaliy dasturi bo‘lishi kerakki, uning yordamida foydalanuvchi masofadagi kompyuterga kirishi (log onto) va u kompyuter taqdim etadigan xizmatlardan foydalanishi mumkin bo‘lsin.
Server
Server bu – mijozlarga xizmatlarni taqdim qiluvchi masofadagi kompyuterda ishlatiluvchi dastur hisoblanadi. Bu dastur ishga tushishi bilan mijozlardan kelayotgan so‘rovlarga “eshiklar ochiladi”, lekin hech qachon so‘rov kelmaguncha xizmat ko‘rsatishni boshlamaydi.
Server dasturi vaqt bo‘yicha cheksiz hisoblanadi. U ishga tushganidan boshlab muammolar yuzaga kelgunicha cheksiz davrgacha ishlashi mumkin. So‘rovlar kelganida server ularga iteratsion yoki bir vaqtning o‘zida javob beradi.
Mijoz
Mijoz bu – mahalliy mashinada o‘rnatilgan dastur bo‘lib, u serverdagi xizmatlardan foydalanish uchun so‘rovlar yuboradi. Mijoz dasturi vaqt bo‘yicha cheklangan xususiyatga ega. U foydalanuvchi (yoki boshqa amaliy dastur) tomonidan ishga tushirilib, xizmat yakunlanganida to‘xtatiladi. Odatda, mijoz masofadagi host kompyuterning IP manzilidan va u kompyuterda ishlayotgan xizmat dasturining port manzilidan foydalangan holda aloqa kanalini ochadi. Aloqa kanali ochilganidan so‘ng, mijoz o‘zining so‘rovini jo‘natadi va javobni (xizmat) qabul qiladi. Albatta, so‘rov – javob qismi bir necha bor takrorlanishi mumkin, biroq umumiy jarayon vaqt bo‘yicha chegaralangan va u ohir-oqibat yakunlanadi.
Bir vaqtda bajarish (Concurrency)
Ham mijoz, ham server bir vaqtda ishlatish tartibida bo‘lishi mumkin. Quyida ularning har biri uchun dasturlarni bir vaqtda ishlatish imkoniyatlari haqida so‘z yuritiladi.
Mijozdagi bir vaqtda bajarish
Mijoz dasturlar mashinada iteratsion yoki bir vaqtda bajarilishi mumkin. Mijoz dasturlarni iteratsion bajarish – bu ularni birin-ketin ishlatilishini ifodalaydi, ya’ni, bir mijoz dastur boshlanadi, bajariladi va yakunlanadi, shundan so‘ng mashina keyingi mijozni bajarilishini boshlaydi. Bugungi kunda kompyuterlarning asosiy qismi bir vaqtda bajarilish imkonini beradi, bu ikki va undan ortiq mijoz dasturlari bir vaqtda ishlashini nazarda tutadi.
Serverdagi bir vaqtda bajarish
Iteratsion server bir vaqtda faqat bir so‘rovni qayta ishlashi mumkin: u birinchi so‘rovni qabul qiladi, uni qayta ishlaydi va mijozga javobni yo‘llaydi, shundan so‘ng ikkinchi so‘rovni boshlaydi. Bir vaqtda bajarish imkonini beruvchi serverlar bir nechta so‘rovlarni bir vaqtning o‘zida qayta ishlash orqali so‘rovlar o‘rtasida vaqtni taqsimlash tamoyilini qo‘llaydi.
Server yoki ulanishsiz transport sathi protokoli UDP, yoki ulanishga qaratilgan transport sathi protokoli TCP/SCTP protokolini ishlatadi. Shuning uchun server amaliyoti ikkita omilga: transport
sathi protokoli va xizmat uslubiga bog‘liq bo‘ladi. Nazariy jihatdan 4 xil serverlar bo‘lishi mumkin: ulanishsiz iteratsion, ulanishsiz bir vaqtda bajaruvchi, ulanishga qaratilgan iteratsion va ulanishga qaratilgan bir vaqtda bajaruvchi (7.1- rasm).
|
| |