SentinelSwitch is a distributed, event-driven payment transaction and fraud monitoring platform built using Go.
It simulates a real-world payment switch architecture using Kafka, gRPC, PostgreSQL, Redis, Prometheus, Grafana, Docker, and Kubernetes.
This project demonstrates scalable microservice architecture, real-time fraud scoring, async processing, and production-grade observability.
graph TD
A[API Gateway] --> B[Kafka Transaction Topic]
B --> C[Fraud Engine]
B --> D[Persistence Service]
C --> E[gRPC Risk Scoring]
D --> F[PostgreSQL]
C --> G[Kafka Fraud Result Topic]
All services expose Prometheus metrics → scraped by Prometheus → visualized in Grafana
| Component | Technology Used |
|---|---|
| Language | Go (Golang) |
| API Framework | Fiber |
| Messaging | Apache Kafka |
| RPC | gRPC |
| Database | PostgreSQL |
| Cache | Redis |
| Metrics | Prometheus |
| Visualization | Grafana |
| Containerization | Docker |
| Orchestration | Kubernetes |
- Accepts transaction requests
- Publishes to Kafka
- Returns immediate acknowledgement
- Exposes Prometheus metrics
- Consumes transactions from Kafka
- Performs rule-based + velocity fraud checks
- Calls Risk Scoring service via gRPC
- Publishes fraud result to Kafka
- gRPC-based microservice
- Calculates risk score (100–1000)
- Simulates ML model scoring
- Consumes transaction + fraud results
- Stores into PostgreSQL
- Maintains partitioned transaction tables
Each service exports:
- transactions_total
- fraud_detected_total
- grpc_request_duration_seconds
- kafka_consumer_lag
- db_write_latency_seconds
- api_request_count
Prometheus scrapes metrics. Grafana dashboards visualize:
- TPS (Transactions per second)
- Fraud detection ratio
- gRPC latency
- Consumer lag
- DB latency
git clone https://github.com/gobi722/sentinelswitch.git
cd sentinelswitch