NOTE

Designing an Asynchronous System

A historical note on asynchronous processing, event-driven design, and consistency/order concerns.

System DesignCreated Updated 1 min readhistorical

This is a historical learning note and may contain outdated or incomplete understanding.

1. What Is Asynchronous Processing?

  • A calls B and returns directly without waiting for the result.

2. Why Do We Need Asynchronous Processing?

  • It can increase the throughput of the entire system.

3. How to Design Asynchronous Processing

3.1. Event Driven

Event-Driven Architecture

3.1.1. API Definition

4. Problems with Asynchronous Processing

4.1. Consistency

Message Queue Consistency.md

Build a consistency platform that listens to events generated by the business, validates consistency according to predefined rules, and alerts when data is inconsistent.

4.2. Ordering

Message Ordering in Message Queues.md

4.2.1. Duplicate Messages

Message Queue Introduction.md

4.2.2. Message Loss

Message Queue Introduction.md

Discussion

Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub