Mhandisi programu anayefanyia majaribio mfumo wa uongozaji sauti (voice-routing system) ameongeza kizuizi cha muda (quarantine) ambacho hulazimisha simu inayofuata kutumia njia tofauti kwa sekunde 300 baada ya hitilafu kutokea. Marekebisho haya yanazuia programu kujaribu tena na tena njia ile ile iliyoharibika, hivyo kupunguza uwezekano wa hitilafu kubwa ya mfululizo (cascade outage).
Kwa nini mantiki ya zamani ilikuwa tatizo
Kielelezo cha awali cha uongozaji (router) kilifuata sheria kali: kituo cha kazi kilipokuwa busy, kilijaribu tu njia ile ile tena. Ikiwa njia hiyo iliendelea kushindwa, mfumo uliandikisha hitilafu hiyo lakini haukubadilisha tabia yake. Katika utendaji wa kawaida, hitilafu moja inaweza kuendelea kuzuia simu kwa sababu programu iliendelea kurudia mzunguko kwenye njia ile ile isiyofanya kazi.
Utaratibu mpya wa kizuizi (quarantine mechanism)
Sasisho hili linaongeza vizuizi vitatu:
- Si ya kudumu – alama ya kizuizi huisha baada ya muda mfupi.
- Si ya mfumo mzima – inahusu tu njia mahususi iliyofeli, si kila njia.
- Kumbukumbu yenye mipaka – mfumo huandika hitilafu hiyo kwenye faili ya ndani na kuifuta mara tu njia mpya inapofanikiwa.
Jaribio la sauti linapofeli, router huandika alama ya “quarantined” kwa njia hiyo. Kwa sekunde 300 zinazofuata, ombi lolote linaloingia huongozwa kiotomatiki kwenye njia mbadala. Mara tu ombi linapofanikiwa kwenye njia tofauti, alama hiyo hufutika, ikihakikisha kuwa marekebisho hayadumu kwa muda mrefu kuliko unavyohitajika.
Faida na changamoto
Faida kuu ni uimara (resilience): hitilafu ya muda mfupi haitavuta huduma nzima chini tena. Kwa kuweka kikomo cha kizuizi hicho kwa dakika tano, mfumo huepuka upotevu wa huduma wa muda mrefu huku ukitoa muda wa mtandao kupona.
Mtazamo huu una hatari. Hitilafu ndogo ya mtandao inaweza kusababisha kizuizi kinacholazimisha simu kutumia njia isiyo bora zaidi, jambo linaloongeza ucheleweshaji (latency) au gharama. Ikiwa njia mbadala pia itashindwa, mfumo unaweza kuruka-ruka kati ya njia mbalimbali, na kusababisha kutokuwa na utulivu. Waendeshaji wanahitaji uwezo wa kuona alama za kizuizi ili kujua ikiwa uongozaji mpya ni wa makusudi au ni dalili ya tatizo kubwa zaidi.
Nini cha kufuatilia baadaye
- Vipimo (Metrics): Fuatilia marudio na muda wa vizuizi ili kuona ikiwa dirisha la sekunde 300 linafaa.
- Upeo (Scope): Timu zinaweza kujaribu kupanua mantiki hii kwenye huduma nyingine zinazokumbwa na mifumo ya kujaribu tena isiyobadilika (static retry patterns).
- Uotomatishaji (Automation): Ongeza arifa wakati njia inapoingia kwenye kizuizi mara kwa mara ili kuchochea matengenezo ya awali kabla watumiaji hawajagundua tatizo.
Somo kuu ni rahisi: mfumo ambao haurekodi hitilafu zake za hivi karibuni hauwezi kuzoea mazingira yanayobadilika. Kwa kufanya historia ya hitilafu ionekane na kuchukua hatua—kwa muda—wahandisi huweka huduma za sauti zikiendelea vizuri bila kusubiri mabadiliko makubwa ya mfumo.
Chanzo: chapisho la awali la mhandisi kwenye dev.to.
Jiunge na mjadala: https://t.me/GyaanSetuAi
