Connected Content And The Slashdot Effect (Or How I Learned To Scale APIs)

Zach McCormick
Connected Content And The Slashdot Effect (Or How I Learned To Scale APIs)

One of the coolest ways our customers integrate with our product is through a feature we call Connected Content. By utilizing custom HTTP endpoints—either owned by the customer or via one of their partners—our customers can inject customized, on-demand content into messages right before they’re sent. Customers use this for a huge variety of use cases, such as personalized recommendations, weather information, and automated language translations. One of the common hiccups, however, is that these endpoints must be able to absorb huge spikes in traffic in order for Braze to send messages quickly.

In the early 2000s, the phenomenon of a web service being unavailable due to large traffic spikes was known as the Slashdot Effect. Sites linked by popular articles on Slashdot would see huge amounts of traffic very quickly and almost immediately become unusable—this was just how it was before the days of cheap, easy-to-deploy auto-scaling and load-balancing services. Even today, this problem persists, and with regards to Connected Content, we’ve come to see a similar “Braze Effect,” where endpoints originally designed for lower-volume, consistent traffic are hit with a large traffic spike to inject Connected Content into messages due to Braze’s sending speed.

Building something capable of absorbing massive but infrequent traffic spikes can be tricky. All kinds of strategies can be taken around application server tuning, tactical database choices, and judicious load testing in order to build something to fit that profile, even at a relatively low cost.

Check out the rest of this blog post at Building Braze!

Zach McCormick

Zach McCormick

Zach is a software engineer and manager passionate about building and maintaining global-scale distributed systems. He has experience with distributed systems, web applications, and mobile applications across a variety of industries, including marketing automation, fintech, IoT, healthcare, and mobile cybersecurity, as well as across a variety of languages and technologies, including Python, Java, JavaScript, Ruby, PostgreSQL, MySQL, MongoDB, Redis, and others. He currently works for Braze.
Zach McCormick

Interested in chatting?

I'm always happy to chat about software engineering challenges of all sorts - architecture, organizational, or otherwise. Just drop me an email at zachary.tyler.mccormick@gmail.com.