IOSOR Gabay

Pag-deduplicate ng mga Papasok na MO Event sa Antas ng API Gateway

Mag-arkitekto ng mataas ang throughput na mga lock para sa pag-deduplicate sa papasok na gateway upang maiwasan ang dobleng pag-trigger ng mga bayarin at pagkaubos ng balanse sa ibaba.

Ang mga duplicate na webhook mula sa MO events ay nagdudulot ng maling bawas sa prepaid balance. Harangin ito sa API gateway gamit ang message fingerprinting.

Arkitektura ng Pag-deduplicate ng Papasok na MO Mensahe

Ang trapiko ng papasok na mobile-originated na dumarating sa pamamagitan ng mga webhook ay madalas na nakakaranas ng maramihang pagtatangka ng paghahatid dahil sa mga retries ng upstream network. Kapag nawalan ng pagkilala sa packet ang mga network ng carrier, muling pinapadala ng upstream gateway ang payload.

Mga Redis Atomic Lock at Fingerprinting ng Mensahe

Upang makamit ang sub-millisecond na pag-deduplicate, ang API gateway ay bumubuo ng isang deterministikong cryptographic fingerprint para sa bawat papasok na MO event. Pinagsasama ng hash na ito ang numero ng nagpadala sa format na E.164, virtual na numero ng tumatanggap, eksaktong bintana ng oras, at ang teksto ng katawan ng payload. Agad na sinusubukan ng gateway ang isang atomic set-if-not-exists na operasyon sa Redis gamit ang hash na ito bilang susi na may maikling TTL na animnapung segundo. Kung umiiral na ang susi, pinapaikli ng gateway ang chain ng kahilingan, tinatapon ang duplicate na payload, at nagbabalik ng HTTP 200 OK sa upstream source.

Pagprotekta sa mga Prepaid na Balanse mula sa Dobleng Pagsingil

Ang imprastraktura ng prepaid ay nakasalalay sa ganap na integridad ng transaksyon. Kung walang mahigpit na edge deduplication, ang isang pag-ulan ng mga naulit na MO event ay maaaring mag-trigger ng sabay-sabay na ledger debit o dobleng pagsisimula ng session para sa mga daloy ng pag-uusap. Dahil ipinapatupad ng aming plataporma ang mahigpit na USD 20 prepaid floor para sa mga bagong pag-activate ng tenant account, napakahalaga ng pag-iwas sa mga phantom usage spike upang mapanatili ang tumpak na mga estado ng ledger. Kapag ang isang tenant ay lumalapit sa threshold na USD 1,000/buwan, ang mga hindi nakontrol na duplicate spike ay maaaring makasira sa analytics.

Paghihiwalay ng Queue at Asynchronous na Paglipat ng Manggagawa

Kapag ang isang papasok na MO event ay nakapasa sa filter ng pag-deduplicate ng gateway, ito ay ipinapalathala sa isang nakahiwalay na RabbitMQ exchange na nahahati sa pamamagitan ng ID ng tenant. Tinitiyak nito na ang mataas na dami ng trapiko mula sa isang kampanya ay hindi makakaubos ng mga mapagkukunan ng queue para sa ibang mga tenant. Ang mga worker ay kumukuha ng mga mensahe mula sa mga queue na ito upang isagawa ang pagpapadala ng webhook at awtomatikong pagtutugma ng keyword. Tinitiyak ng mga JIT provisioning rule ang dynamic na pag-scale ng mga mapagkukunan.

Paghawak sa mga Pagkabigo ng Webhook at mga Retry ng Idempotency

Related: muling subok ng inbound webhook · Linggo ng pagbawi sa inbound: buksan muli ang MO gamit ang throttle, huwag an… · idempotency, retry, at pera.

Magsimula sa IOSOR para sa mga Matatag na Papasok na Gateway

Sa staging, i-POST ang parehong MO nang dalawang beses na may isang provider message-id. Ang kandado ng gateway ay dapat magpila ng isang event; isang beses lang tumakbo ang consumer. I-export ang susi at ang itinapong kambal. Dalawang 2xx puwede; dalawang inbox row o dalawang hipo sa wallet ang bagsak ng trabahong ito. Ito ay pagbagsak ng pila sa gateway, hindi timeout buffer, hindi sulat STOP, at hindi takip ng auto-reply.

Buod ng IOSOR

Ang gateway MO dedup ay kandado sa event id bago ang pila. Isang message-id, isang event.

Gawin: kunin ang kandado, saka ipila. Huwag: umasang ididikit ng inbox o wallet mamaya.

Nakatulong ba ang gabay na ito?

Mga kaugnay na gabay