Skip to content

Latest commit

 

History

History
160 lines (131 loc) · 3.23 KB

File metadata and controls

160 lines (131 loc) · 3.23 KB

MAIL-CARD Deployment Architecture

graph TB
    subgraph "Load Balancer"
        LB[Nginx/HAProxy]
    end
    
    subgraph "Web Tier"
        API1[MAIL-CARD API 1]
        API2[MAIL-CARD API 2]
        API3[MAIL-CARD API 3]
    end
    
    subgraph "Mail Processing Tier"
        SMTP1[SMTP Server 1]
        SMTP2[SMTP Server 2]
        IMAP1[IMAP Server 1]
        IMAP2[IMAP Server 2]
        POP3[POP3 Server]
    end
    
    subgraph "Queue & Routing"
        QUEUE[Message Queue]
        ROUTER[Mail Router]
        WORKER1[Worker 1]
        WORKER2[Worker 2]
        WORKER3[Worker 3]
    end
    
    subgraph "Storage Cluster"
        DB1[(RocksDB Primary)]
        DB2[(RocksDB Replica)]
        OBJ[Object Storage]
        CACHE[Redis Cache]
    end
    
    subgraph "Security & Monitoring"
        TLS[TLS Termination]
        METRICS[Metrics Collector]
        LOGS[Log Aggregator]
        ALERT[Alert Manager]
    end
    
    LB --> API1
    LB --> API2
    LB --> API3
    
    API1 --> QUEUE
    API2 --> QUEUE
    API3 --> QUEUE
    
    SMTP1 --> QUEUE
    SMTP2 --> QUEUE
    IMAP1 --> DB1
    IMAP2 --> DB1
    POP3 --> DB1
    
    QUEUE --> ROUTER
    ROUTER --> WORKER1
    ROUTER --> WORKER2
    ROUTER --> WORKER3
    
    WORKER1 --> DB1
    WORKER2 --> DB1
    WORKER3 --> DB1
    
    DB1 --> DB2
    WORKER1 --> OBJ
    WORKER2 --> OBJ
    WORKER3 --> OBJ
    
    API1 --> CACHE
    API2 --> CACHE
    API3 --> CACHE
    
    TLS --> LB
    API1 --> METRICS
    API2 --> METRICS
    API3 --> METRICS
    
    METRICS --> LOGS
    LOGS --> ALERT
Loading

Production Deployment Patterns

🏢 Single Node Deployment

Ideal for:

  • Small organizations (< 1000 users)
  • Development environments
  • Testing and staging

Components:

  • Single MAIL-CARD instance
  • Local RocksDB storage
  • Built-in queue system
  • Basic monitoring

🔄 High Availability Cluster

Ideal for:

  • Medium organizations (1000-10000 users)
  • Production workloads
  • 99.9% uptime requirements

Components:

  • Multiple API servers
  • Database replication
  • Load balancer
  • External message queue
  • Comprehensive monitoring

🌐 Distributed Architecture

Ideal for:

  • Large enterprises (> 10000 users)
  • Multi-region deployment
  • 99.99% uptime requirements

Components:

  • Multi-tier architecture
  • Database sharding
  • Global load balancing
  • Disaster recovery
  • Advanced security

Infrastructure Requirements

💻 Hardware Specifications

Small Deployment

  • CPU: 4 cores
  • Memory: 8GB RAM
  • Storage: 100GB SSD
  • Network: 100 Mbps

Medium Deployment

  • CPU: 8 cores
  • Memory: 16GB RAM
  • Storage: 500GB SSD
  • Network: 1 Gbps

Large Deployment

  • CPU: 16+ cores
  • Memory: 32GB+ RAM
  • Storage: 1TB+ SSD
  • Network: 10 Gbps

🔧 Software Dependencies

  • Operating System: Linux (Ubuntu 20.04+, CentOS 8+)
  • Container Runtime: Docker 20.10+ (optional)
  • Reverse Proxy: Nginx 1.18+
  • Database: RocksDB (embedded)
  • Cache: Redis 6.0+ (optional)
  • Monitoring: Prometheus + Grafana

🌐 Network Requirements

  • Ports: 25, 80, 143, 443, 465, 587, 993, 995
  • Firewall: Proper port configuration
  • DNS: MX, SPF, DKIM, DMARC records
  • SSL/TLS: Valid certificates for mail domains