Abstract
As a part of OneSignal’s no-code Journeys system, we knew that we would need a way to store billions of timers. OneSignal delivers over 11 billion notifications per day, and we would potentially need to store a timer event alongside each of these for customer-defined journeys like “send a notification, wait 24h, send another notification if a condition is met.” After searching the paid and open-source worlds for off-the-shelf solutions, we decided that our best option was to build a system that could store and expire timers for ourselves. Ingesting data via gRPC, persisting to Scylla, and expiring to Kafka via a Rust scheduler has proved to be a great solution for us. This talk walks through the design of this system, its performance characteristics, and how we’ve scaled it since it began as a single-node service for the first year and a half of its existence.
Speaker

Lily Mara
Staff Engineer @Discord, Author of "Refactoring to Rust", Previously Engineering Manager @OneSignal
Lily Mara is a Staff Engineer at Discord on the Notifications Platform team. She builds distributed systems to deliver tens of billions of notifications every day to Discord's users.
Previously she was an Engineering Manager and Software Engineer at OneSignal in San Mateo, CA. She led the efforts to create OneSignal's integration with Mixpanel, develop the outcomes system, and improving performance and code simplicity through refactoring efforts.
Lily is the author of Refactoring to Rust, a book about improving the performance of existing software systems through the gradual addition of Rust code.
Find Lily Mara at:
Speaker

Hunter Laine
Software Engineer @OneSignal
Hunter Laine is a Software Engineer on the Infrastructure Services team at OneSignal in San Mateo, CA. In this role, she helps to maintain and improve in-house services used by internal engineering teams. In this capacity, Hunter led a major migration of one of OneSignal’s most trafficked endpoints from a legacy Ruby on Rails codebase into a faster, more efficient and maintainable Go codebase. She spearheaded scaling OneSignal’s timer scheduler infrastructure from a single-tenant service to a multi-tenant service.
Prior to her work at OneSignal, Hunter has held positions as a Marketing Operations Manager abroad. OneSignal has been an incredible place to learn quickly and take a lead role in major initiatives.