bugfree Icon
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course
interview-course

System Design Question

Design a Scalable Email Service

bugfree Icon

Hello, I am bugfree Assistant. Feel free to ask me for any question related to this problem

Functional Requirements:

  • Users can send and receive emails.
  • Support for basic email folders (Inbox, Sent, Trash, etc.).
  • Ability to search emails by subject, sender, or body.
  • Mark emails as read/unread.
  • Support for email attachments.
  • Basic spam filtering.

Non-Functional Requirements:

  • High availability: Email service should be accessible at all times.
  • Scalability: System should handle growth in users and email volume.
  • Reliability: No loss of email data.
  • Low latency for common operations (fetching, sending emails).
  • Security: Emails and attachments should be protected from unauthorized access.
  • Durability: Emails and attachments must be stored persistently.

System Design Diagrams

Zoom In and Out via trackpad or posture