Vertical vs Horizontal Scaling
Vertikal va gorizontal miqyoslash
Kichik nonvoyxona ko'p mijozga ulgurmay qolsa, ikki yo'l bor: birinchisi — bitta yangi, KATTAROQ va TEZROQ pech sotib olish (bitta oshpaz, lekin kuchliroq asbob). Ikkinchisi — yana bitta kichik pech va yana bitta oshpaz yollab, ikkalasini PARALLEL ishlatish. Birinchisi — vertikal miqyoslash (vertical scaling), ikkinchisi — gorizontal miqyoslash (horizontal scaling).
Vertikal miqyoslash — bitta serverning quvvatini oshirish: ko'proq protsessor yadrosi, ko'proq operativ xotira, tezroq disk. Bu — eng SODDA yechim: kodni o'zgartirish shart emas, shunchaki kattaroq mashinaga o'tkazasiz. Lekin uning CHEGARASI bor — dunyoda cheksiz kattalikdagi server yo'q, va eng katta serverning o'zi ham bir kun narxi osmonga chiqib, foyda kamayib ketadigan nuqtaga yetadi.
Gorizontal miqyoslash — bitta katta server o'rniga, KO'PROQ oddiy serverni qo'shish, va yukni ular orasida taqsimlash. Bu — nazariy jihatdan DEYARLI CHEKSIZ o'sishga imkon beradi (yana bitta server qo'shsangiz bo'ldi), lekin narxi bor: endi serverlar orasida ma'lumotni qanday taqsimlash, qaysi so'rov qaysi serverga borishini qanday hal qilish (Load Balancing — keyingi kurs) kerak bo'ladi — bu murakkablik qo'shadi.
| Vertikal (kattaroq server) | Gorizontal (ko'proq server) | |
|---|---|---|
| Amalga oshirish qiyinligi | Oson — kod o'zgarmaydi | Qiyinroq — yukni taqsimlash kerak |
| Chegarasi | Bor — eng katta serverdan narida yo'q | Deyarli yo'q — server qo'sha berish mumkin |
| Bitta nuqtadan ishdan chiqish xavfi | Yuqori — bitta server o'chsa, hammasi to'xtaydi | Past — bitta server o'chsa, boshqalari davom etadi |
| Narx egri chizig'i | Kattalashgani sari EKSPONENSIAL qimmatlashadi | Ko'proq CHIZIQLI (yana bitta oddiy server narxi) |
Amalda ko'p tizim ikkalasini ARALASH ishlatadi: dastlab vertikal miqyoslash bilan tezda o'sadi (chunki oson), lekin bir chegaradan o'tgach, gorizontal miqyoslashga o'tadi (chunki chegarasi yo'q). Muhandislik jihatidan muhim savol — "hozircha qaysi biri YETADI, va qachon ikkinchisiga o'tish kerak bo'ladi" — bu, Engineering Judgment kursidagi "hozir soddalikni tanlang, aniq ehtiyoj kelganda murakkablashtiring" tamoyilining tizim darajasidagi ko'rinishi.
Key Takeaway
Key Takeaway:
Vertikal miqyoslash — kattaroq bitta server (oson, lekin chegarali); gorizontal miqyoslash — ko'proq oddiy server (murakkabroq, lekin deyarli cheksiz). Ko'p real tizim avval vertikal bilan boshlab, keyin gorizontalga o'tadi.
NEXT UP
Latency vs Throughput