๐Ÿš€
4. Communication Patterns
Engineering

Communication Patterns

Understanding how data travels between systems is crucial for designing scalable applications.

Mar 202510 min read

Understanding how data travels between systems is crucial for designing scalable applications.

๐ŸŒ
References & Disclaimer

This content is adapted from Mastering System Design from Basics to Cracking Interviews (Udemy). It has been curated and organized for educational purposes on this portfolio. No copyright infringement is intended.


How Clients and Servers Communicate

Communication follows a basic sequence:

  1. Client sends a request (HTTP, SQL, etc.).
  2. Request is transmitted over the network.
  3. Server receives and processes the request.
  4. Server sends a response.
  5. Client receives and processes the response.

The Request-Response Cycle (HTTP Example)

Browser requests https://example.com

DNS resolves domain to IP address

Browser sends HTTP GET request to web server

Web server processes request (queries DB if needed)

Server sends HTTP response (e.g., 200 OK)

Browser renders the webpage


Synchronous vs Asynchronous Communication

PatternDescriptionExample
SynchronousClient waits for a response before proceeding (Blocking).REST APIs, Traditional web apps.
AsynchronousClient doesn't wait and can perform other tasks (Non-Blocking).WebSockets, Background jobs, AJAX.

Synchronous Communication (Blocking)

Asynchronous Communication (Non-Blocking)


Stateless vs Stateful Servers

Stateless Servers

  • No memory of past interactions; each request is independent.
  • Benefits: Easily scalable, simple caching, better load balancing.
  • Example: REST APIs, HTTP servers.

Stateful Servers

  • Maintain session information across multiple requests.
  • Benefits: Personalized user experiences, seamless state tracking.
  • Example: Multiplayer games, Real-time banking.

Importance of DNS in Large-Scale Systems

DNS isn't just for naming; it's a tool for traffic management:

  • Ensuring High Availability: Load balancing using DNS.
  • DNS Failover: Automatically switching to a passive server if the primary goes down.
  • CDN Integration: Directing users to the nearest "edge" node for content delivery.

ยฉ 2026 Driptanil Datta. All rights reserved.

Software Developer & Engineer

Disclaimer:The content provided on this blog is for educational and informational purposes only. While I strive for accuracy, all information is provided "as is" without any warranties of completeness, reliability, or accuracy. Any action you take upon the information found on this website is strictly at your own risk.

Copyright & IP:Certain technical content, interview questions, and datasets are curated from external educational sources to provide a centralized learning resource. Respect for original authorship is maintained; no copyright infringement is intended. All trademarks, logos, and brand names are the property of their respective owners.

System Operational

Built with Love โค๏ธ | Last updated: Mar 16 2026