Bird
Raised Fist0
LLDsystem_design~12 mins

Emergency handling in LLD - Architecture Diagram

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
System Overview - Emergency handling

This system manages emergency situations by receiving alerts from users or sensors, processing them quickly, and dispatching appropriate responders. It must handle high volumes of requests reliably and ensure timely communication to save lives.

Architecture Diagram
User/Sensor
   |
   v
Load Balancer
   |
   v
API Gateway
   |
   v
Emergency Service
  /    \
 v      v
Cache   Message Queue
  |        |
  v        v
Database  Notification Service
            |
            v
       Responder Devices
Components
User/Sensor
client
Initiates emergency alerts or status updates
Load Balancer
load_balancer
Distributes incoming requests evenly to prevent overload
API Gateway
api_gateway
Routes requests to the emergency service and handles authentication
Emergency Service
service
Processes emergency alerts, checks cache, and triggers notifications
Cache
cache
Stores recent emergency data for quick access
Message Queue
queue
Manages asynchronous notification tasks to responders
Database
database
Stores persistent emergency records and user data
Notification Service
service
Sends alerts to responder devices asynchronously
Responder Devices
client
Receive emergency notifications and respond accordingly
Request Flow - 9 Hops
User/SensorLoad Balancer
Load BalancerAPI Gateway
API GatewayEmergency Service
Emergency ServiceCache
Emergency ServiceDatabase
Emergency ServiceMessage Queue
Message QueueNotification Service
Notification ServiceResponder Devices
Emergency ServiceLoad Balancer
Failure Scenario
Component Fails:Database
Impact:New emergency alerts cannot be stored persistently; historical data access is unavailable
Mitigation:System continues to serve from cache for recent emergencies; alerts are still processed and notifications sent; database replication and failover restore service quickly
Architecture Quiz - 3 Questions
Test your understanding
Which component ensures that incoming emergency alerts are distributed evenly to prevent overload?
ACache
BAPI Gateway
CLoad Balancer
DMessage Queue
Design Principle
This architecture uses caching to speed up repeated emergency data access and a message queue to handle notifications asynchronously, ensuring the system remains responsive and scalable under high load.

Practice

(1/5)
1. What is the primary goal of an emergency handling system in system design?
easy
A. To detect problems quickly and protect people and property
B. To increase system performance under normal conditions
C. To reduce the cost of hardware components
D. To provide detailed analytics for marketing purposes

Solution

  1. Step 1: Understand the purpose of emergency handling

    Emergency handling systems are designed to detect issues fast and act to prevent harm.
  2. Step 2: Identify the main goal

    The main goal is to protect people and property by quick detection and response.
  3. Final Answer:

    To detect problems quickly and protect people and property -> Option A
  4. Quick Check:

    Emergency handling = fast detection and protection [OK]
Hint: Focus on safety and speed in emergencies [OK]
Common Mistakes:
  • Confusing emergency handling with performance optimization
  • Thinking it is about cost reduction
  • Assuming it is for marketing analytics
2. Which component is NOT typically part of an emergency handling system?
easy
A. Safety action controller
B. Alerting system
C. Detection module
D. User interface for marketing

Solution

  1. Step 1: List typical components

    Emergency handling systems usually have detection, alerting, safety actions, and logging.
  2. Step 2: Identify the unrelated component

    User interface for marketing is unrelated to emergency handling functions.
  3. Final Answer:

    User interface for marketing -> Option D
  4. Quick Check:

    Marketing UI ≠ emergency handling component [OK]
Hint: Exclude marketing from emergency system parts [OK]
Common Mistakes:
  • Including unrelated business components
  • Confusing alerting with marketing notifications
  • Ignoring safety action controllers
3. Consider this simplified emergency system flow:
if sensor.detect(): alert.send(); safety.activate(); log.record()
What happens if sensor.detect() returns false?
medium
A. Alert, safety, and log actions all execute
B. Only alert and safety actions execute
C. No actions execute
D. Only log action executes

Solution

  1. Step 1: Analyze the if condition

    The actions alert.send(), safety.activate(), and log.record() run only if sensor.detect() is true.
  2. Step 2: Determine behavior when sensor.detect() is false

    If sensor.detect() returns false, the code block inside if does not run, so no actions execute.
  3. Final Answer:

    No actions execute -> Option C
  4. Quick Check:

    False detection = no emergency actions [OK]
Hint: If condition false means skip all inside actions [OK]
Common Mistakes:
  • Assuming log always runs regardless of detection
  • Thinking alert or safety run without detection
  • Confusing else behavior when none is given
4. In an emergency system, this code snippet causes a problem:
if sensor.detect():
alert.send()
safety.activate()
log.record()

What is the main issue?
medium
A. Missing indentation causes log.record() to run always
B. safety.activate() is outside the if block
C. alert.send() is not called properly
D. log.record() runs even if no detection

Solution

  1. Step 1: Check code indentation

    log.record() is not indented under the if, so it runs always.
  2. Step 2: Understand impact

    log.record() runs even when sensor.detect() is false, which is incorrect behavior.
  3. Final Answer:

    Missing indentation causes log.record() to run always -> Option A
  4. Quick Check:

    Indentation controls conditional execution [OK]
Hint: Indent all emergency actions inside detection check [OK]
Common Mistakes:
  • Ignoring indentation importance
  • Assuming all lines are inside if by default
  • Confusing which lines run conditionally
5. You design an emergency system that must alert multiple teams and log events reliably. Which design approach best ensures alerts are sent even if one alert service fails?
hard
A. Send alerts sequentially and stop on first failure
B. Send alerts in parallel with retries and fallback logging
C. Send alerts only to the primary team to reduce complexity
D. Log events only after all alerts succeed

Solution

  1. Step 1: Understand reliability needs

    To ensure alerts reach multiple teams, sending in parallel avoids blocking on one failure.
  2. Step 2: Use retries and fallback logging

    Retries help recover from temporary failures; fallback logging records failures for later review.
  3. Final Answer:

    Send alerts in parallel with retries and fallback logging -> Option B
  4. Quick Check:

    Parallel + retries = reliable alerting [OK]
Hint: Use parallel alerts with retries for reliability [OK]
Common Mistakes:
  • Stopping alerts on first failure
  • Ignoring retries and fallback mechanisms
  • Reducing alert recipients to simplify