Inara Crest Technologies — home
Kikapu, hakina kitu

Utafutaji maarufu

BloguMessaging

Designing reliable notification queues and retries

Na Micah Ondiwa, Mhandisi Mkuu wa Programu 1 dak. kusoma

Usitume ujumbe ndani ya ombi la mtumiaji. Foleni yenye majaribio ya kurudia, back-off na kuondoa nakala inafanya arifa ziwe za kuaminika wakati watoa huduma wanapotetereka.

If your application calls an SMS or email provider directly while a user waits, a slow or failing provider slows down or breaks your application. The fix is to separate "decide to send" from "send".

Weka ujumbe kwenye foleni

Wakati jambo linapotokea, andika kazi ya arifa kwenye foleni au kwenye jedwali la database na rudisha mara moja. Kazi tofauti (worker) inachukua kazi na kuita mtoa huduma. Kwenye shared hosting bila message broker, jedwali la kazi linalosindika kwa kupitia kazi iliyo pangwa kwa ratiba hufanya kazi vizuri.

Jaribu tena kwa kuchelewesha kwa taratibu

Kosa za muda mfupi ni za kawaida. Jaribu tena baada ya ucheleweshaji unaoongezeka — kwa mfano dakika moja, dakika tano, dakika thelathini — na ukome baada ya idadi iliyowekwa ya majaribio. Taja makosa ya kudumu (nambari isiyofaa) ili yasijaribwe tena.

Fanya utumaji uwe idempotent

Mpa kila arifa ufunguo wa kipekee, kama vile ID ya oda pamoja na aina ya ujumbe. Ikiwa kazi inafanya kazi mara mbili, utekelezaji wa pili utaona ufunguo na hautafanya chochote. Wateja hawapaswi kamwe kupokea risiti ile ile mara tatu.

Tazama foleni

  • Toa tahadhari wakati kazi zinapoanza kukusanyika au kiwango cha kushindwa kinapoongezeka.
  • Wonyesha wafanyakazi hali ya ujumbe muhimu.
  • Hifadhi kazi zilizoshindwa kwa uchunguzi badala ya kuzifuta.

Panga kwa kipaumbele

Msimbo wa mara moja na tahadhari za usalama zinapaswa kuingia mbele ya jarida. Tumia fole ni tofauti au vipaumbele.

Learn more about our messaging integration work.

Kuhusu mwandishi

Micah Ondiwa

Mhandisi Mkuu wa Programu

Micah Ondiwa anaandika kuhusu uhandisi wa programu — usanifu wa programu, APIs na uingizaji, data na maendeleo yanayosaidiwa na AI, na utoaji wa kuaminika.

Zote blog