Independent · Distributed systems · Independent project · 2026
A ~100-service distributed platform on .NET
Architecture for roughly a hundred microservices with Kafka messaging, Redis caching and session storage, and full observability through Prometheus and Grafana with custom .NET metrics.
- Role
- Architect
- Scale
- ~100 microservices
- Stack
- .NET, Kafka, Redis, Docker Compose, Prometheus, Grafana
.NET services ×~100KafkaRedisPrometheusGrafana
Context
A self-directed project to work through the real decisions behind a large microservice estate: how services communicate, where state lives, and how you see what’s happening across a hundred of them.
Decisions
- Messaging — Kafka over RabbitMQ. Chosen for horizontal scale, fan-out, independent consumer groups and message replay.
- Caching — vanilla Redis over Bitnami Redis. One upstream image for caching, session storage and pub/sub.
- Observability from day one. Prometheus and Grafana run in the base Docker Compose stack; services expose custom metrics through
prometheus-net.AspNetCore, with imported Grafana dashboards.
Status
Design and infrastructure in place; source is private and available to walk through in an interview.