TGViewer
Mabrur | Dasturlash va AI Mabrur | Dasturlash va AI @mabrur_dev · 4.97K subscribers
Post #1498 1.91K
Mikroservislardan monolitlarga qaytish tendensiyasi haqida ko'p o'qib qolayabman. Men ham tajribamdan kelib chiqib, shu mavzu bo'yicha ikki og'iz gaplarimni aytmoqchiman.

Nega ko'pchilik mikroservislardan voz kechib, monolitlarga qaytishni boshladi, nega bu hype avvalgidek emas?

1. Murakkablik Yo'qolmaydi, Faqat "Ko'chib O'tadi"
Mikroservislardagi ko'pchilik ishonadigan narsa - murakkablikni kamaytirish. Lekin bu shunchaki illyuziya. Dasturlashda "Conservation of Complexity" (Murakkablikning saqlanish qonuni) degan yozilmagan tushuncha bor. Ya'ni, siz murakkablikni yo'q qilmaysiz, shunchaki uni bir joydan ikkinchi joyga ko'chirasiz.

- Monolitdagi murakkablik: Kod ichida yashaydi. Modullar, klasslar va funksiyalar orasidagi bog'liqliklarda namoyon bo'ladi. Buni yengish uchun SOLID, DRY kabi dizayn prinsiplarini yaxshi bilish va ular bilan ishlash kerak bo'ladi. Kod ishlashi bitta asosan bitta joyda va tushunishga oson.

- Mikroservislardagi murakkablik: Endi bu murakkablik tarmoqqa ko'chadi. Siz nafaqat kod haqida, balki tarmoqning ishonchsizligi, ma'lumotlar bazasidagi taqsimlangan tranzaksiyalar (distributed transactions), service discovery, versiyalash va API shartnomalari kabi butun bir "distributed systems" muammolari haqida bosh qotirishingiz kerak.


2. "Yashirin Xarajat"

Dasturchilar mahsulot o'rniga infra bilan band va bu menimcha, mikroservislarning eng katta "yashirin xarajati". Har bir servis uchun alohida CI/CD pipeline, monitoring, logging, alerting va xavfsizlik konfiguratsiyalari kerak. Bu esa mahsulot rivojlanishidan vaqt oladigan ulkan DevOps ishini talab qiladi.

Amazon kabi gigantlarda har bir jamoaning ichida bunga mas'ul SRE (Site Reliability Engineer) mutaxassislari bor. Ammo kichikroq jamoalarda bu yuk ko'pincha dasturchining yelkasiga tushadi.

Natijada oddiy bir funksional uchun bir nechta servisni o'zgartirish, ular orasidagi API contractlar buzilmasligini ta'minlash va bir necha jamoa bilan kelishish kabi bosh og'riqlar paydo bo'ladi. Bu esa yana bir xavfli anti-pattern - "Distributed Monolith" (taqsimlangan monolit) ni keltirib chiqaradi. Servislar alohida deploy qilinsayam, ular bir-biriga shunchalik bog'liqki, bittasini o'zgartiish uchun qoglanlariniyam o'zgaritish kerak bo'ladi.


Davomi pastda...
  • 👍 12
  • 🔥 2
  • 👨‍💻 1
More from @mabrur_dev
  1. Oct 9, 2026Elevenlabs V4 - Professional Voice Cloning
  2. Oct 5, 2026Claude bilan o'tirib ishim uchun kerakli xitoycha modellar bo'yicha research qilgandim, sh…
  3. Oct 4, 2026Nomi g'alati eshitilishi mumkin, lekin jev ustiga yaxshi tool yasashibdi. Ayniqsa minglab…
  4. Oct 4, 2026Efirda tanaffus ) Ko'chadagi havoga shu ketadiyu, nima deysilar 😅
  5. Oct 3, 2026Do'stlarimiz yangi platformaga asos solishibdi. Platformada siz SAT imtihonlariga tayyorla…
  6. Oct 1, 2026Men anchadan beri birga ishlaydigan kompaniyam founderi YouTube’da juda yaxshi podcastlar…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →