Explore Library
System Design & ArchitectureMessage Queues & Asynchronous Processing

92 items

1

Serialization Consistency

Code Quiz
2

Idempotent Consumers and Duplicate Handling

Slides / Video
3

Message Acknowledgment and Redelivery

Slides / Video
4

Message Delivery Guarantees Explained

Slides / Video
5

Queues vs Log-Based Streaming

Slides / Video
6

Message Brokers Overview

Slides / Video
7

Point-to-Point vs Publish/Subscribe

Slides / Video
8

Producer–Consumer Model

Slides / Video
9

Synchronous vs Asynchronous Processing

Slides / Video
10

What a Message Queue Is and Why Use It

Slides / Video
11

Queue vs Direct API Call Trade-offs

Slides / Video
12

At-Least-Once Delivery

Code Quiz
13

At-Most-Once Delivery

Code Quiz
14

Acknowledging After Processing

Code Quiz
15

Requeue on Processing Failure

Code Quiz
16

Polling and Processing Messages

Code Quiz
17

Publishing a Message to a Queue

Code Quiz
18

Dead Letter Queue on Max Retries

Code Quiz
19

Idempotent Consumer for Duplicates

Code Quiz
20

Partitions and Topics

Quiz
21

Fan-Out Pattern

Quiz
22

Synchronous vs Asynchronous

Quiz
23

Handling Duplicate Messages

Quiz
24

Point-to-Point vs Pub-Sub

Quiz
25

Task Queues for Background Jobs

Quiz
26

Purpose of Message Queues

Quiz
27

Message Durability

Quiz
28

Message Broker Role

Quiz
29

Poison Messages

Quiz
30

Message Visibility Timeout

Quiz
31

Decoupling Services

Quiz
32

Consumer Groups

Quiz
33

Message Ordering Guarantees

Quiz
34

Producer-Consumer Model

Quiz
35

Retry and Backoff

Quiz
36

Event-Driven Architecture

Quiz
37

Message Acknowledgment

Quiz
38

Kafka vs RabbitMQ

Quiz
39

Dead Letter Queues

Quiz
40

Delivery Guarantees

Quiz
41

Backpressure and Queue Buildup

Quiz
42

Fan-Out and Broadcast Patterns

Slides / Video
43

Event-Driven Architecture Basics

Slides / Video
44

Task Queues and Background Job Processing

Slides / Video
45

Retry Strategies and Exponential Backoff

Slides / Video
46

Load Leveling and Buffering Bursts

Slides / Video
47

Decoupling Services with Queues

Slides / Video
48

Offset Commit Timing

Code Quiz
49

Poison Message Handling

Code Quiz
50

Producer Confirms on Publish

Code Quiz
51

Async Enqueue vs Blocking Call

Code Quiz
52

Delayed Message Delivery

Code Quiz
53

Unlimited Prefetch Kills Fairness

Code Quiz
54

Random Keys Break Ordering

Code Quiz
55

Consumer Groups Not Competing

Code Quiz
56

Manual Ack With noAck True

Code Quiz
57

Work Queue Duplicating Tasks

Code Quiz
58

Retry with Fixed Delay

Code Quiz
59

Deleting Before Processing

Code Quiz
60

Fan-out Sharing One Queue

Code Quiz
61

Message Retention and Replay

Slides / Video
62

Backpressure and Flow Control

Slides / Video
63

Partitioning and Scaling Consumers

Slides / Video
64

Task/Job Queues and Worker Pools

Flashcard
65

Event-Driven Architecture Basics

Flashcard
66

Push vs Pull Consumption Models

Flashcard
67

Message Visibility Timeout

Flashcard
68

Partitioning / Sharding of Streams

Flashcard
69

Priority Queues in Messaging

Flashcard
70

Message Durability and Persistence

Flashcard
71

Consumer Groups and Parallel Consumption

Flashcard
72

Queue Depth Monitoring and Consumer Lag

Flashcard
73

Kafka vs RabbitMQ vs SQS

Flashcard
74

Fan-Out Messaging Pattern

Flashcard
75

Backpressure and Flow Control

Flashcard
76

Consumer Groups and Parallel Consumption

Slides / Video
77

Acknowledgment and Redelivery

Flashcard
78

Benefits of Async Processing

Flashcard
79

Message Queue vs Event Streaming

Flashcard
80

Delivery Guarantees

Flashcard
81

Message Ordering Guarantees

Flashcard
82

Synchronous vs Asynchronous

Flashcard
83

What a Message Queue Is

Flashcard
84

Retry Strategies and Backoff

Flashcard
85

Message Broker Role

Flashcard
86

Producer-Consumer Model

Flashcard
87

Dead Letter Queues

Flashcard
88

Point-to-Point vs Pub-Sub

Flashcard
89

Duplicate Processing & Consistency Trade-offs

Flashcard
90

Poison Messages Handling

Flashcard
91

Dead Letter Queues and Poison Messages

Slides / Video
92

Message Ordering Guarantees

Slides / Video
Code QuizIntermediate

Polling and Processing Messages

A consumer meant to continuously poll a queue only fetches one batch.

Codejavascript
async function pollLoop(sqs, queueUrl) {
  const res = await sqs.receiveMessage({
    QueueUrl: queueUrl,
    MaxNumberOfMessages: 10
  });

  for (const msg of res.Messages) {
    await process(msg);
  }
}

What is the bug in this polling consumer?