Backend (server tomoni) - parda ortida ishlaydigan serverlar, ma'lumotlar bazalari va dastur mantig'i. Backend komponentlari maʼlumotlarni saqlaydi, soʻrovlarni qayta ishlaydi, ilovada koʻrgan maʼlumotlarni yetkazib beradi.
Web-ilovalar arxitekturasining elementlari va ularning vazifalari haqida
UI. Foydalanuvchi interfeysi (UI) web-brauzerda ko'rsatilgan web-ilovaning vizual taqdimoti bo'lib, foydalanuvchilarga u bilan ishlash imkonini beradi. Arxitekturaning bir qismi sifatida UI ni topish kamdan-kam uchraydi, lekin u zamonaviy ilovalarning tarkibiy qismidir, chunki biznes mantiqining bir qismi brauzerda JavaScript orqali amalga oshiriladi.
Web-sahifa tarkibiga quyidagilar kiradi:
HTML (HyperText Markup Language) — web-sahifa mazmuni va tuzilishini belgilaydi.
CSS (Cascading Style Sheets) — sahifaning uslubini (matn o'lchami, rangi va shrifti) va taqdimotini belgilaydi (tarkib va tartibni ajratadi).
JavaScript - brauzer o'zaro ta'siri uchun javob beradigan dasturlash tili.
JavaScript qatlami foydalanuvchi brauzerida joylashgan va web-sahifani real vaqtda yangilash uchun backend bilan bog'lanadi. Zamonaviy web-sayt arxitekturasi modellarida bu foydalanuvchilarning interfeys elementlari bilan o'zaro aloqasi tufayli sahifa tarkibini dinamik ravishda o'zgartirishga imkon beradi.
Web-server. Web-serverlar so'rovlarni qabul qiladigan, ularni qayta ishlaydigan va foydalanuvchi brauzeriga ma'lumotlarni yuboradigan kompyuterlardir. "Server" atamasi internet (yoki shaxsiy tarmoq) orqali xizmatlar ko'rsatadigan har qanday kompyuterga nisbatan qo'llaniladi. Serverlar ularda ishlaydigan xizmatlar turiga qarab turli toifalarga bo'linadi. Masalan,
veb-serverlar HTTP (port 80)
HTTPS (port 443) so'rovlarini qayta ishlaydi.
Ma'lumotlar bazasi serveri. Ma'lumotlar bazasi serverlari - ma'lumotlar bazalarining markazlashtirilgan joylari (ma'lumotlarning tashkillashtirilgan to'plami). Ushbu serverlar veb-serverlar bilan aloqa qiladi va avtorizatsiya qilingan foydalanuvchilarga ma'lumotlarni taqdim etadi.
DNS. Domen nomlari tizimi (DNS) domen nomini tarjima qiladigan internetga asoslangan ierarxik nomlash tizimidir (masalan, domen nomi). IP manziliga (8.8.8.8).
Brauzerlar web-serverlar bilan bog'lanish uchun IP manzillarga muhtoj. DNS oddiygina foydalanuvchilarga murakkab raqamlar o'rniga o'qilishi mumkin bo'lgan nomlar yordamida ulanishga yordam beradi. Siz DNS-ni internet uchun kontaktlar katalogi deb o'ylashingiz mumkin.
Xabar almashish uchun o'rta dastur. Web-ilovalar bir nechta serverlarda joylashtirilgan bir nechta xizmatlardan iborat bo'lishi mumkin. Messaging mediaware turli xil dasturiy modullar, dasturlash tillari va ilovalar bilan muloqot qilishda yordam beradi. Web-ilovaning mijoz tomoni va server tomoni sinxron (HTTPS va TCP) protokollari yordamida o'zaro ta'sir qiladi, ilovaning server tomoni komponentlari esa sinxron (AMQP) aloqa protokolidan ham foydalanishi mumkin. Bundan tashqari, o'rta dasturiy ta'minot va amaliy dasturlash interfeyslari (API) ilovalar va serverlar o'rtasida ma'lumotlarni ko'prik qiladi.
Yuklanish balansi. Har bir serverda operativ xotira va protsessor cheklangan, shuning uchun ko'p foydalanuvchi katta trafik yuklanishiga olib kelishi mumkin. Shuning uchun, yuklanish balanslagichlaridan foydalanish zarur. Yuklanish balanslagichi trafikni qayta ishlaydi va mavjud hisoblash resurslari asosida uni web-serverlar bo'ylab tarqatadi. Bu web-ilovaning muammosiz ishlashiga imkon beruvchi yuklanishni optimallashtiradi.
Kesh - bu web-sahifa ma'lumotlarini saqlaydigan va takroriy so'rovlar bo'yicha tezroq yetkazib beradigan vaqtinchalik vosita. Web-ilova serveri arxitekturasida keshlash odatda brauzerda sodir bo'ladi. Masalan, web-sahifani birinchi marta yuklaganingizda, uning qismlari mahalliy xotirada saqlanadi. Keyin, sahifani qayta yuklaganingizda, brauzer ushbu fayllarni to'g'ridan-to'g'ri keshdan oladi (web-serverga murojaat qilmasdan).
CDN. Kontentni yetkazib berish tarmog'i (CDN) - bu statik tarkibni (tasvirlar, audio, videolar, CSS va JavaScript fayllari) saqlaydigan va yetkazib beradigan server tugunlari tizimi. CDN-lar web-ilovangiz joylashgan ma'lumotlar markazlaridan uzoqda yashaydigan foydalanuvchilar uchun kechikish vaqtini yaxshilashi mumkin. Tasavvur qiling-a, Kaliforniyalik foydalanuvchi Nyu-Yorkdagi ma'lumotlar markazidagi web-ilovaga kirmoqda. Brauzer ma'lumot markazidan ma'lumot olishi mumkin, ammo masofa tufayli sahifani yuklash ko'proq vaqt oladi. Aytaylik, web-ilova Kaliforniyada CDN-dan foydalanadi. Keyin brauzer og'ir fayllarni yaqin atrofdagi tugundan tezroq yuklab olishi mumkin. Shunday qilib, kimdir web-ilova bilan o'zaro aloqada bo'lganda, ushbu komponentlarning barchasi birgalikda qanday ishlashini aytib berish vaqti keldi.
Zamonaviy web-ilovalar qanday ishlaydi? Endi siz terminologiya bilan tanish bo‘lganingizdan so‘ng, foydalanuvchi manzil satriga URL manzilini kiritganda nima sodir bo‘lishini ko‘rsata olamiz.
Mijoz (brauzer) IP-manzilni taqdim etadigan DNS-server bilan bog'lanadi.
Keyin brauzer veb-serverga veb-hujjatlarga (JSON, HTML va boshqalar) so'rov yuboradi.
Web-server so'rovlarni foydalanuvchining kirish darajasi va so'rov turiga qarab harakat yo'nalishini belgilaydigan dastur mantig'iga (ilovaning biznes-qatlami) yo'naltiradi.
Agar so'rov kirish mezonlariga javob bersa, dastur mantig'i ma'lumotlar bazasidan ma'lumotlarni yuklaydi va ularni brauzerga yuboradi.
Brauzer veb-hujjatni ma'lumotlar bilan qabul qiladi, uni tahlil qiladi va CDN-dan har qanday statik fayllarni (JavaScript, CSS, tasvirlar, video va boshqalar) yuklaydi.
Zamonaviy veb-ilovalarda ilova mantig'i JavaScript qatlamiga ega bo'lishi mumkin, keyinchalik u brauzerning backend va turli API-lar bilan bog'lanadi.
Brauzer ma'lumotni taqdim etadi va uni veb-sayt sahifasi sifatida ko'rsatadi.
Bu jarayonlarning barchasi web-ilovaning turli qatlamlarida (qatlamlarida) amalga oshiriladi.
Web-ilovalar arxitekturasining qatlamlari Web-ilovaning infratuzilmasi uchta izolyatsiyalangan qatlamlardan, xususan taqdimot, biznes va qat'iylik qatlamlaridan iborat.
Taqdimot qatlami. Taqdimot darajasi brauzeringizda joylashgan web-ilovaning old qismidir. Ushbu daraja ma'lumotlarni backenddan o'qilishi mumkin bo'lgan tarkib va interfeys elementlariga aylantiradi. Foydalanuvchi web-interfeys bilan o'zaro aloqada bo'lganda, taqdimot qatlami biznes darajasiga so'rov yuboradi.
Biznes qatlami. Biznes sathi (ilova mantiqiy darajasi) ichki mantiq va qoidalarni belgilaydigan orqa qismning qismidir. U ilovadagi barcha jarayonlarni muvofiqlashtiruvchi dastur kodini o'z ichiga oladi. Ushbu daraja, shuningdek, taqdimot va qat'iylik qatlamlari o'rtasida ma'lumotlarni uzatadi.
Barqarorlik qatlami. Doimiylik darajasi (ma'lumotlar darajasi) web-ilovaning ma'lumotlar serveri bo'lib, u ma'lumotlarni (fayllar, mantiq, w eb-sayt sozlamalari, maxfiy va foydalanuvchi tomonidan yaratilgan ma'lumotlarni)
Do'stlaringiz bilan baham: |