Explain Fan-out vs Fan-in

Fan-out vs fan-in is a system design pattern where one request triggers multiple parallel tasks (fan-out), then their outputs are combined into one result (fan-in).

When to use/Use Cases

Use fan-out when tasks can run independently in parallel to save time (for example, calling multiple services at once). Use fan-in to gather results back into one output (such as combining microservice responses).

Example

An app fetches data from three microservices at once (fan-out); once all responses return, it combines them into one result (fan-in).

Want to go further? Check out Grokking System Design Fundamentals, Grokking the System Design Interview, or Mock Interviews with ex-FAANG engineers for hands-on practice.

Why Is It Important

Understanding this pattern is crucial for building scalable systems. Parallelizing tasks (fan-out) cuts latency, and the fan-in step provides a unified result. It’s fundamental in designing efficient distributed systems.

Interview Tips

In interviews, define each term and use an analogy (e.g., splitting work among friends then combining results). Give a real example (like parallel API calls) to show practical understanding.

Trade-offs

Fan-out speeds up processing but uses more resources. However, fan-in can become a bottleneck if one task is slow or fails, illustrating the trade-off between speed and complexity.

Pitfalls

Pitfalls include launching too many parallel tasks and ignoring slow or failed tasks that stall fan-in. Also, don’t assume tasks finish together; use timeouts so one slow task doesn’t block the result.

What is the difference between fan-out and fan-in?

When should you use fan-out vs fan-in?

TAGS
System Design Interview
System Design Fundamentals
CONTRIBUTOR
Design Gurus Team
-

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Image
One-Stop Portal For Tech Interviews.
Copyright © 2025 Design Gurus, LLC. All rights reserved.