Katta katta loyihalar qurmoqchi bo‘lgan har bir dasturchi "distributed systems" nimaligini bilishi shart.
Umuman olganda, distributed systems bu ma’lum bir vazifani bajarish uchun har xil aloqa kanallari orqali bir biri bilan muloqot qilib, o‘zaro hamkorlik qiladigan elementlar guruhidir. Elementlarga misol qilib telefon kabi jismoniy qurulmalarni yoki browser kabi dasturiy protseslarni keltirish mumkin.
Qo‘pol qilib aytganda bir guruh komponentlar biror ishni bir biri bilan bir balo qilib gaplashib bajarsa shuni distributed systems deyilar ekan.
Ho‘p, nimaligini tushundik.
Qiyinlashtirib nima qilamiz? Nega bizga o‘zi bu distributed systems degan balo kerak?
Juda yaxshi savol.
Birinchidan, shunaqangi loyihalar borki ular bitta komponentning ishdan chiqishiga bardoshli bo‘lishi shart. Masalan, Dropbox siz unga jo‘natgan fayllaringizni bir nechta serverlarda nusxalarini saqlaydi. Agar bitta serverda saqlaganda va u serverga nimadir bo‘lganda bu siz uchun va Dropbox uchun yaxshilik bilan tugamagan bo‘lar edi.
Ikkinchidan, shunaqangi loyihalar borki ularga kelayotgan "yuk" shunchalik kattaki bir dona serveringiz qanchalik kuchli va katta bo‘lmasin bunday darajani yakka eplay olmaydi. Masalan, Google sekundiga butun dunyodan bir necha yuz minglab so‘rovlarni qabul qiladi. Bitta server buni ko‘tara olishi mumkin emas.
Uchinchidan, shunaqangi loyihalar borki ular shunaqangi tez ishlashi kerakki bitta server bilan eplashning ilojisi yo‘q. Masalan, Netflix juda katta sifatdagi filmlarni har bir foydalanuvchiga juda tez yetkazib berish uchun dunyo bo‘ylab serverlar joylashtirib qo‘ygan. Bitta serverda bo‘lganida faqatgina shu serverga yaqin bo‘lgan foydalanuvchilargina bemalol ishlatgan bo‘lar edi xolos.
Va nihoyat, ba’zi bir loyihalar tabiatan "distributed system" dir. Masalan, internet. Siz internetga telefoningiz, kompyuteringiz yoki planshetingizdagi browser orqali kirasiz va u dunyodagi boshqa milliardlab uskunalar bilan birgalikda bitta "distributed system" ni tashkil qiladi. Ya’ni bitta uskuna bilan internet internet bo‘lmagan bo‘lar edi, to‘g‘rimi?
Ho‘p, nimaga kerakligini tushundik. Bunday tizimlarni qanday quramiz?
Juda yaxshi savol.
Bunga endi ancha harakat qilish kerak. Bitta postda tushuntirib bo‘lmaydi. Yillar ketadi xullas.
@jakhonrakhmonov
Обсуждение 16
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram