Overview
Settle is a prototype Distributed Payment Processing System developed as an academic project for the Distributed Systems (SE2062) module. Designed to emulate a resilient e-commerce payment backend, the system addresses core distributed computing challenges through a robust, fault-tolerant architecture spanning a multi-node cluster. Rather than just a theoretical implementation, the project brings distributed systems concepts to life by reliably processing concurrent client transactions even in the presence of node crashes or network delays.
The core architecture directly tackles the assignment's primary challenges through distinct, integrated subsystems:
- Fault Tolerance & Failover: The system runs on a highly available 5-node cluster with automated failure detection. It features seamless failover mechanisms to redirect payments when a node goes down, alongside recovery protocols that safely integrate returning nodes back into the cluster.
- Data Replication & Consistency: A distributed ledger ensures payment details are reliably replicated across servers. It utilizes deduplication (idempotency keys) to safely process retries and maintains strict data consistency across the network.
- Time Synchronization: To combat clock skew and network latency, the system implements synchronization protocols to accurately timestamp, correlate, and reorder out-of-sequence distributed logs.
- Consensus & Leader Election: A custom Raft consensus engine is implemented to manage leader election and ensure all distributed payment servers unequivocally agree on transaction states and log storage policies.
Going beyond the standard academic requirements, this project was expanded with several unique, production-grade features:
- Comprehensive Observability Stack: A fully integrated telemetry ecosystem featuring distributed tracing, metric dashboards, and centralized log aggregation provides deep, real-time visibility into the consensus state and cluster health.
- External Gateway Integration: The system actively listens to and processes real-world simulated transactions by securely integrating with the Stripe API via webhooks.
- Real-Time Interactive Dashboard: A dynamic, premium frontend interface was built from scratch to visually map the complex network state, track active leader elections, and monitor payment flows interactively.
- Intelligent Load Balancing: An Nginx API gateway sits in front of the cluster to efficiently route incoming client requests and webhook events to available, healthy nodes.
Details
Focus Areas
- Fault Tolerance
- Data Replication
- Raft Consensus
- Time Sync
- System Design
Tech Stack
System
Architecture
Brand Identity
Color Palette
Typography
Font Family
Weights
Characters
0123456789 !@#$%^&*()