Grab

Turbocharging GrabUnlimited with Temporal

Dec 12, 2024Michel Parreno
Turbocharging GrabUnlimited with Temporal
SummaryAI, from the source post

This post details the migration of GrabUnlimited's membership system from a legacy SQS and Redis lock-based architecture to Temporal. It highlights the architectural issues of the previous system, including scalability bottlenecks with cron jobs, concurrency issues due to short Redis lock TTLs, resiliency problems with upstream service outages and complex state machines, and a lack of idempotency guarantees. The adoption of Temporal is presented as the solution, leveraging its features like infinite retries, exponential backoff, and timers to manage membership purchases and renewals, leading to a significant reduction in production incidents.