article thumbnail

Designing a Scalable and Fault-Tolerant Messaging System for Distributed Applications

DZone

Building a strong messaging system is critical in the world of distributed systems for seamless communication between multiple components. A messaging system serves as a backbone, allowing information transmission between different services or modules in a distributed architecture.

article thumbnail

Designing Instagram

High Scalability

Design a photo-sharing platform similar to Instagram where users can upload their photos and share it with their followers. High Level Design. The streaming data store makes the system extensible to support other use-cases (e.g. System Components. Component Design. API Design. API Design. Data Models.

Design 334
Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

article thumbnail

Real-Time Presence Platform System Design

DZone

The system design of the Presence Platform depends on the design of the Real-Time Platform. I highly recommend reading the related article to improve your system design skills. The original article was published on systemdesign.one website. What Is the Real-Time Presence Platform?

Design 225
article thumbnail

Rapid Event Notification System at Netflix

The Netflix TechBlog

To this end, we developed a Rapid Event Notification System (RENO) to support use cases that require server initiated communication with devices in a scalable and extensible manner. In this blog post, we will give an overview of the Rapid Event Notification System at Netflix and share some of the learnings we gained along the way.

Systems 334
article thumbnail

Mastering System Design: A Comprehensive Guide to System Scaling for Millions (Part 1)

DZone

A transformative journey into the realm of system design with our tutorial, tailored for software engineers aspiring to architect solutions that seamlessly scale to serve millions of users.

Systems 189
article thumbnail

Overcoming the Retry Dilemma in Distributed Systems

DZone

This was manifested in systems designs as well where we pushed these biases when designing systems. If you look closely there are two broad categories of failures:

Systems 264
article thumbnail

Architecting for Resilience: Strategies for Fault-Tolerant Systems

DZone

That means it's important that software systems are dependable, robust, and resilient. Resilient systems can withstand failures or errors without completely crashing. It lets systems keep working properly even when problems occur. We'll also discuss core principles and strategies for building fault-tolerant systems.

Strategy 305