O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
“KOMPYUTER INJINIRINGI” FAKULTETI
“Dasturiy injiniringga kirish” fanidan
MUSTAQIL ISHI
Bajardi: Xurramov U.Z
Fan o’qituvchisi: Kayumov.A.A
S a m a r q a n d -2024
I
A
1020
Mavzu:Klient-server arxitekturasi
Dasturiy ta’minot arxitekturasi - dasturiy ta’minot tizimining umumiy dizayni
va qanday tashkil etilishini bildiradi, ya’ni tizimning turli qismlari o‘rtasidagi
komponentlar, modullar, interfeyslar va munosabatlarni belgilaydi. Dasturiy
ta’minot arxitekturasi - dasturiy ta’minot tizimining asosiy tarkibiy elementlarini,
shu elementlar qanday harakat qilishi va bir-biri bilan o‘zaro ta’sirini belgilab
beradi. Dasturiy ta’minot arxitekturasining bir nechta namunalari mavjudbo’lib, ular
orasida eng mashhur va tez-tez qo’llaniladiganlari misol sufatida quyida keltirilgan.
1.
Layered
2.
Client-Server
3.
Event-Driven
4.
Microkernel
5.
Microservices
Ushbu ishda yuqorida keltirilgan texnologiyalardan klient-server va
mikroservislararxitekturalarini qanday qo‘llanilishi va ularning o’zaro farqlarini
tahlili ko’rib chiqiladi.
Klient-server arxitekturasi - bu tarmoq arxitekturasi bo‘lib, ushbu
arxitekturada ikkita asosiy komponent mavjud : xizmat so‘rovchisi bo‘lgan
klient
va
xizmat ko‘rsatuvchi provayder bo‘lgan
server
. Klient o‘z qurilmasidan (kompyuter
yoki telefondan) servergaulanadi va ma‘lumotlar yoki harakatlar uchun so‘rovlarni
serverga yuboradi. Server esa resurslarni boshqaradi va mijozlarning so‘rovlariga
javob beradi.
Server mijozlarga ma‘lumotlarni saqlash va ularni qayta ishlash kabi xizmatlarni
taqdim etadi. Klient server arxitekturasining namunasi - World Wide Web. Ixtiyoriy web-
saytga murojaat qilinganda, web-brouzer ushbu saytning serveriga so’rov yuboradi va
server yuborilgan so’rovga muvofiq web-brouzerga qayta javob yuboradi. Klient-server
arxitekturasidan fayl almashish tizimlari va elektron pochta kabi onlayn ilovalarda ham
qo’llaniladi. Ushbu arxitekturaning asosiy afzalliklaridan biri boshqaruvning
markazlashtirilganligida, ya’ni serverdaresurslar va ma’lumotlarni markazlashtirilgan holda
boshqariladi. Barcha fayllar ushbu tarmoq uchun markaziy joyda saqlanadi. Bu esa
ma’lumotlar xavfsizligini yaxshilaydi va boshqaruvning qo‘shimcha xarajatlarini
kamaytiradi. Klient-server arxitekturasida bir vaqtning o‘zida bir nechta mijozlar serverga
ulanishi mumkin, bu esa kengaytiriladigan tizim yaratish imkonini beradi. Klient-server
arxitekturasi - bu markazlashtirilgan ma‘lumotlarni boshqarish va qayta ishlash, shuningdek,
yuqori xavfsizlik va ishonchlilikni talab qiladigan ilovalar uchun eng mos bo‘lgan dasturiy
ta’minot arxitekturasidir. Odatda, klient-server arxitekturasi korporativ resurslarni
rejalashtirish (ERP - Enterprise Resource Planning), mijozlar bilan munosabatlarni
boshqarish (CRM - Customer Relationship Management) va ta’minot zanjirini boshqarish
(SCM - Supply Chain Management) dasturlari kabi biznes ilovalari uchun ishlatiladi.
Mikroservislar arxitekturasi kichik, mustaqil va bir-biriga bog‘liq bo‘lmagan
xizmatlar to‘plamidan tizim yaratishga asoslangan dasturiy ta’minotni ishlab chiqish
modelidir. Tizimdagi har bir xizmat mustaqil ravishda ishlab chiqilishi, joylashtirilishi,
kengaytirilishi va yangilanishi mumkin. Har bir mikroservis mustaqil ravishda ishlab
chiqilishi va joylashtirilishi mumkin bo‘lsa-da, uning funksionalligi boshqa mikroservislar
bilan uzviy bog‘langan.
Microservislar arxitekturasida har bir xizmat autentifikatsiya, registratsiya, toʻlovni qayta
ishlash yoki foydalanuvchi profilini boshqarish kabi bitta funksiya yoki vazifani bajaradi.
Bir- birlari bilan muloqot qilish uchun ilovaning mikroxizmatlari so‘rov-javob aloqa
modelidan foydalanadi. Bunda HTTP protokoliga asoslangan REST APIdan yoki xabar
almashish kabi qulay protokollar yordamida bir-biri bilan aloqa qiladi. Microservislar turli
dasturlash tillari yoki texnologiyalari yordamida tuzilishi mumkin, ya’ni har bir
mikroservis, Klient-server arxitekturasiyordamida ishlab chiqilishi mumkin. Shuning uchun
ma‘lumotlarni boshqarish markazlashtirilmagan va har bir mikroservis o‘z ma‘lumotlar
bazasidan foydalanashi mumkin. Har bir mikroservis dasturdagi boshqa mikroservislarga
ta’sir qilmasdan mustaqil ravishda joylashtiriladi va bitta microservisdagi nosozlik butun
tizimga ta’sir qilmaydi. Ishlab chiqaruvchilarga tizimning boshqa qismlariga ta’sir
qilmasdan muayyan xizmatlarni yangilash, nosozlikni bartaraf etish imkonini berish orqali
texnik xizmat ko‘rsatish xarajatlarini kamaytiradi. Mikroservislar arxitekturasi yuqori
moslashuvchanlik talab qiladigan tizimlar uchun juda foydalidir. Tizimning turli qismlarini
mustaqil ravishda ishlab chiqish, joylashtirish va boshqarish kerak bo‘lganda eng yaxshi
tanlovdir.
Klient-server va mikroservislar arxitekturasi o‘rtasidagi asosiy farqlar:
1.
Klient-server arxitekturasi bir nechta mijozlarga xizmat ko‘rsatadigan yagona
serverdan iborat markazlashtirilgan arxitekturadir. Mikroservislar bir-biri bilan aloqa
qiladigan bir nechta mustaqil xizmatlardan iborat bo‘lgan taqsimlangan arxitekturadir.
2.
Klient-server arxitekturasi nisbatan mikroservislar arxitekturasiga soddaroq
tuzilgan. Mikroservislar arxitekturasi esa taqsimlanganligi tufayli ya’ni har bir mikroservis
alohi-alohida ekanligi bois ancha murakkab tuzilishga ega va ko‘proq boshqaruvni talab
etadi.
3.
Klient-server arxitekturasida texnik xizmat ko‘rsatish osonroq, chunki boshqarish
uchun kamroq komponentlar mavjud. Mikroservislar arxitekturasida esa individual xizmat
ko‘rsatishni talab qiladigan ko‘plab mustaqil xizmatlar (mikroservislar) mavjud.
4.
Klient-server arxitekturasida mijoz va server o‘rtasidagi aloqa to‘g‘ridan-to‘g‘ri
va tushunarli. Mikroservislar arxitekturasida xizmatlar o‘rtasidagi aloqa API va xabar
navbatlaridanfoydalanish tufayli qo‘shimcha xarajatlarni talab qilishi mumkin.
5.
Mikroservislar ko‘proq moslashuvchanlikni ta’minlaydi, chunki ular tizimning
boshqa qismlariga ta’sir qilmagan holda xizmatlarga o‘zgartirishlar kiritish yoki yangi
xizmatlar kiritish imkonini beradi. Klient-server arxitekturasidagi o‘zgarishlar tizimning
ishlashiga sezilarli ta’sir ko‘rsatishi mumkin.
Xulosa qilib shuni takidlash mumkinki klient-server arxitekturasidan asosan
bank va moliya sohalarida foydalanish mumkin. Ushbu arxitektura odatda bank va moliya
tizimlarida tranzaktsiyalarni boshqarish va foydalanuvchi hisoblariga xavfsiz kirishni
ta’minlash uchun ishlatiladi.
Microservices arxitekturasidan esa ijtimoiy media ilovalaridan foydalanish mumkin. Ushbu
arxitekturadan Ijtimoiy media platformalari millionlab foydalanuvchilarga real vaqt rejimida
oʻzaro muloqot qilish imkonini beruvchi kengaytiriladigan va samarali ijtimoiy tarmoqlar
yaratish uchun foydalanish mumkin.Mijoz-server kopincha koplab mijozlarga xizmat
korsatadigan markazlashtirilgan tizim sifatida ishlab chiqilgan edi. Shunday qilib, server
quvvati, xotirasi va saqlash talablari kutilgan yuk bilan olchanishi kerak boladi. Yuklarni
muvozanatlash va ochirish tizimlari kopincha bitta jismoniy mashinadan tashqari serverni
olchash uchun ishlatiladi. Peer-to-peer tarmogida ikki yoki undan ortiq kompyuterlar oz
resurslarini birlashtiradi va markazlashtirilmagan tizimda ozaro tasir qiladi. Tengdosh
tugunlar ierarxik bolmagan tarmoqdagi teng yoki ekvipotentsial tugunlardir. Mijoz-server
yoki mijoz-navbat-mijoz arxitekturasidagi mijozlardan farqli olaroq, tengdosh tugunlar bir-
biri bilan bevosita muloqot qiladi. Peer-to-peer tarmogida, peer-to-peer aloqa protokolidagi
algoritm yukni muvozanatlashtiradi va hatto kam resurslarga ega bolgan tengdoshlar ham
yukni taqsimlashga yordam beradi. Agar tugun mavjud bolmasa, uning ulushlari boshqa
tengdoshlar taklif qilganicha mavjud bolib qoladi. Ideal holda, tugunning yuqori mavjudlikka
erishishi shart emas, chunki boshqa tugunlar har qanday resurs ishlamay qolish vaqtini
qoplaydi. Tengdoshlarning mavjudligi va otkazish qobiliyati ozgarganda, protokol sorovlarni
qayta yonaltiradi. Mijoz-server ham, master-qul ham taqsimlangan peer-to-peer tizimlarining
pastki toifalari hisoblanadi.
Hozirgi kunda mikroservislar va klient-server arxitekturasi, kompleks tizimlarni
shakllantirish, yaxshilash va rivojlantirishda keng qo'llaniladigan arxitekturalar hisoblanadi.
Arxitekturalarni tanlashda, dasturlar va tizimlarning afzalliklarini va talablarini tushunish va
aniqlash muhim jarayon. Ushbu ishda mikroservislar va klient-server arxitekturalarining
tahlili keltirilgan.
Mijoz-server modeli, shuningdek, pochta tizimlariga asoslangan ma'lumotlarni qayta ishlash
tizimini yaratishda foydalaniladi. Mijoz-server arxitekturasidan sezilarli darajada farq
qiladigan fayl-server arxitekturasi deb ataladigan narsa ham mavjud.
2. Barcha ma'lumotlar serverda saqlanadi, odatda, aksariyat mijozlarga qaraganda ancha
yaxshi himoyalangan. Serverda faqat kirish huquqiga ega mijozlarga ma'lumotlarga kirishga
ruxsat berish uchun avtorizatsiya boshqaruvini ta'minlash osonroq.
3. Turli xil mijozlarni birlashtirishga imkon beradi. Turli xil apparat platformalari, operatsion
tizimlari va boshqalar bo'lgan mijozlar ko'pincha bitta serverning resurslaridan
foydalanishlari mumkin.
Shaxsiy kompyuterning tarkibiga qo'yiladigan talablar tarmoqdagi echilgan vazifalarning
xususiyatlari, OT tomonidan ishlatiladigan hisoblash jarayonini tashkil etish tamoyillari va
boshqa bir qator omillar bilan belgilanadi. Ba'zan to'g'ridan-to'g'ri tarmoq simiga ulangan
kompyuterda magnit disk drayverlari bo'lmasligi mumkin. Bunday kompyuterlar
chaqiriladi
|