Hammamiz bilamizki, uyimizni elektr toki bilan ta’minlash uchun ko‘chalarimizdan o‘tgan elektr tarmog‘idan foydalanamiz. Uyni qayerida tok kerak bo‘lsa, shu tarmoq orqali elektrni olib kirib ishlatamiz.
Lekin hayotda hammasi reja bo‘yicha ketavermaydi. Masalan, elektr tizimida ikki tomondan ham nosozlik yuzaga kelishi mumkin:
Uyning o‘zida qisqa tutashuv bo‘lishi mumkin.
Elektr tarmog‘ida tok kuchlanishi haddan oshib ketishi mumkin.
Bunday nosozliklar natijasida xonadondagi elektr asboblar zarar ko‘radi. Zararni kamaytirish va asboblarni himoya qilish uchun avtomatik o‘chirish qurilmasi o‘rnatiladi. Bu qurilma nosozlikni sezishi bilan elektr tarmog‘ini avtomatik uzib qo‘yadi, natijada uy xavfsiz qoladi.
Endi tasavvur qiling, dasturlashda ham shunga o‘xshash vaziyatlar uchraydi. Circuit Breaker texnologiyasi xuddi o‘sha avtomatik o‘chirish qurilmasining dasturiy variantidir.
Masalan, sizda ikki xil xizmat bor: user-service va otp-service.
User-service foydalanuvchilar uchun ishlaydi, ularga xizmat ko‘rsatadi.
Otp-service esa foydalanuvchilarga tasdiqlash kodini jo‘natish bilan shug‘ullanadi.
Otp-service biror texnik muammo tufayli sekin ishlay boshlasa yoki so‘rovlaringizga timeout qaytara boshlasa, nima bo‘ladi?
User-service esa ularga yuborilgan har bir so‘rovga javob kutib, o‘z ishini sekinlashtiradi.
Oqibatda, na otp-service to‘liq tiklanadi, na user-service odatdagidek ishlay oladi. Bular bir-birini "down" holatiga o'tkazishi mumkin.
Bu muammoni oldini olish uchun Circuit Breaker ishlatiladi. Uning vazifasi:
- Nosozlikni sezish: Agar otp-service sekin javob bera boshlasa yoki ishlamay qolsa, Circuit Breaker so‘rovlarni o‘zi to‘xtatib qo‘yadi.
- Fallback ishlatish: Shu paytda foydalanuvchilarga muqobil javoblar qaytaradi, masalan: “Hozircha tasdiqlash kodini yuborolmadik, keyinroq urinib ko‘ring.”
- Tiklanishga imkon berish: Otp-service o‘zini tiklab olguncha hech qanday yangi so‘rov yuborilmaydi.
- Normal holatga qaytish: Tizim tiklanganidan so‘ng Circuit Breaker yana so‘rovlarni uzatishni boshlaydi.
Qisqasi, Circuit Breaker bu – tizimni haddan tashqari bosimdan himoya qiluvchi texnologiya. U muammolarni erta sezadi, resurslarni tejaydi va tizimingizni barqaror ishlashini ta’minlaydi.
Bu texnologiya orqali siz servicelaringizni “nosozlikka chidamli” (resilient) qilasiz.
@java_suhbat
Lekin hayotda hammasi reja bo‘yicha ketavermaydi. Masalan, elektr tizimida ikki tomondan ham nosozlik yuzaga kelishi mumkin:
Uyning o‘zida qisqa tutashuv bo‘lishi mumkin.
Elektr tarmog‘ida tok kuchlanishi haddan oshib ketishi mumkin.
Bunday nosozliklar natijasida xonadondagi elektr asboblar zarar ko‘radi. Zararni kamaytirish va asboblarni himoya qilish uchun avtomatik o‘chirish qurilmasi o‘rnatiladi. Bu qurilma nosozlikni sezishi bilan elektr tarmog‘ini avtomatik uzib qo‘yadi, natijada uy xavfsiz qoladi.
Endi tasavvur qiling, dasturlashda ham shunga o‘xshash vaziyatlar uchraydi. Circuit Breaker texnologiyasi xuddi o‘sha avtomatik o‘chirish qurilmasining dasturiy variantidir.
Masalan, sizda ikki xil xizmat bor: user-service va otp-service.
User-service foydalanuvchilar uchun ishlaydi, ularga xizmat ko‘rsatadi.
Otp-service esa foydalanuvchilarga tasdiqlash kodini jo‘natish bilan shug‘ullanadi.
Otp-service biror texnik muammo tufayli sekin ishlay boshlasa yoki so‘rovlaringizga timeout qaytara boshlasa, nima bo‘ladi?
User-service esa ularga yuborilgan har bir so‘rovga javob kutib, o‘z ishini sekinlashtiradi.
Oqibatda, na otp-service to‘liq tiklanadi, na user-service odatdagidek ishlay oladi. Bular bir-birini "down" holatiga o'tkazishi mumkin.
Bu muammoni oldini olish uchun Circuit Breaker ishlatiladi. Uning vazifasi:
- Nosozlikni sezish: Agar otp-service sekin javob bera boshlasa yoki ishlamay qolsa, Circuit Breaker so‘rovlarni o‘zi to‘xtatib qo‘yadi.
- Fallback ishlatish: Shu paytda foydalanuvchilarga muqobil javoblar qaytaradi, masalan: “Hozircha tasdiqlash kodini yuborolmadik, keyinroq urinib ko‘ring.”
- Tiklanishga imkon berish: Otp-service o‘zini tiklab olguncha hech qanday yangi so‘rov yuborilmaydi.
- Normal holatga qaytish: Tizim tiklanganidan so‘ng Circuit Breaker yana so‘rovlarni uzatishni boshlaydi.
Qisqasi, Circuit Breaker bu – tizimni haddan tashqari bosimdan himoya qiluvchi texnologiya. U muammolarni erta sezadi, resurslarni tejaydi va tizimingizni barqaror ishlashini ta’minlaydi.
Bu texnologiya orqali siz servicelaringizni “nosozlikka chidamli” (resilient) qilasiz.
@java_suhbat
6👍8🔥4❤3💯1
1👍2🔥2
assalomu alaykum, qadrdonlar.
Uzoq tanaffusdan so'ng bugun 21:30 da Java core dan interview bo'ladi. qatnashmoqchi bo'lganlar koment qismda '+' qoldirishingizni so'rayman.
Uzoq tanaffusdan so'ng bugun 21:30 da Java core dan interview bo'ladi. qatnashmoqchi bo'lganlar koment qismda '+' qoldirishingizni so'rayman.
Interview topshirmoqchi bo'lgan odam topilmagani sababli, interview boshqa kunga surilish arafasida.