Sådan omskrev vi en central del af GatewayAPI uden at du lagde mærke til det
Vi har netop releaset en ny udgave af GatewayAPIs messagerouter, hvilket i bund og grund betyder, at vi har opgraderet “GatewayAPIs motor”. I den anledning tænkte vi, at det ville være oplagt med et blogindlæg med en detaljeret gennemgang til de teknologi-interesserede blandt jer.
Messagerouter 2.0
GatewayAPIs messagerouter spiller en betydelig rolle, og uden den kan man vist godt sige, at vores SMS-gateway ikke ville være meget værd.
Messagerouteren sørger blandt andet for at omdirigere alle beskeder og sikre, at de kommer frem til de rette lande, teleselskaber og modtagere. Derudover kommer svar fra udbyderne om leveringsstatus tilbage via komponentet, som derefter sendes videre i systemet. Informationen gemmes også i databasen, hvor den blandt andet anvendes til statistik.
Vi begyndte for nylig arbejdet på at omskrive messagerouteren fra bunden for at opnå en lang række forbedringer for jer – og for os, hvilket vi vil komme nærmere ind på nedenfor.
Det er ikke sikkert, at I har opdaget noget: SMS’erne kom frem inden optimeringen – og det gør de sådan set stadig. Men nu på en endnu mere effektiv måde.
Hvad er blevet optimeret?
Vi har været godt rundt, og forbedringerne af messagerouteren er flertallige. Vi har særligt haft fokus på at optimere Python-delen af koden samt at foretage en overordnet opstramning af it-arkitekturen.
Fokusområderne var:
- Erstatning af C++ systemet til et nyt system i Python med asyncio.
- Udskiftning af in-house queue system med et system baseret på RabbitMQ i stedet.
- Finpudsning og optimering af it-arkitekturen.
Resultatet af forbedringerne er:
- Større robusthed, herunder endnu højere fejltolerance.
- Bedre håndtering af retries.
- Større cloud-tilpasning i tråd med vores setup i Google Cloud via Kubernetes.
- Mulighed for endnu nemmere at skalere op.
- Bedre overvågning af flaskehalse.
- Mulighed for hurtigere videreudvikling.
- Reducering af CPU-forbrug på hele 40-50%.
- Stor forbedring i unittest code coverage
- Bedre instrumentation og større indsigt i systemet mens det kører.
- Implementeringen i asyncio bevirker, at vi bedre kan udnytte vores ressourcer uden at løbe ind i problemer med concurrency i Python.
Hvad betyder forbedringerne for jer?
Optimeringen kan anskues som en investering i fremtiden, som gør det nemmere for os fremover at udvikle nye løsninger samt øvrige udviklingsprojekter ved GatewayAPI. I får dermed hurtigere adgang til nye features og andre forbedringer.
Derudover kommer I til at nyde godt af forbedringerne, som overordnet vil give en endnu bedre oplevelse, når I anvender GatewayAPI.
Det var alt for denne gang. Vi håber, I bliver glade for den nye messagerouter. Hvis I har nogen spørgsmål eller gerne vil I kontakt med os, så tøv endelig ikke med at kontakte os på supportchatten.
Global SMS Gateway
GatewayAPI har nogle af de laveste priser i størstedelen af verden kombineret med en intuitiv brugergrænseflade, support i verdensklasse og en solid oppetid på over 99,99 % i gennemsnit. Hvis du ikke har en konto endnu, kan du oprette en gratis konto på mindre end to minutter her: Gå til GatewayAPI eller skriv til sales@gatewayapi.com