System design not just on whiteboard, but with code.
This repository represents an effort to learn System Design by experimenting, failing-fast, learning from that experince and providing all the fellow developers a wealth of knowledge in terms of source code.
System design always seemed quiet far from reach because the knowledge available online either is too shallow or basic, or quiet high level. Being a developer, I wanted to learn by looking at code and experimenting. Facing challenges head on and building robust systems. If you feel the same, then this repository is perfect for you!
Try to re-create system design case studies, not just on prototype scale but full scale. I intend to deploy sytems on cloud and load test them at scale.
All systems built in this repository should be
- Microservices driven (or even Serverless)
- Lightweight
- Highly scalable
- Fault tolerant (kill machines randomly and system shouldn't cave in)
- No single point of failure
- High performance
- Observable and Traceable
- Micronaut Framework
- Zookeeper
- Consul Service Discovery
- MySQL
- Redis Cache
- Test Containers
- React (frontend)
- Docker
- Zipkin
- Hystrix/Resilience4J
- Micrometer
- Prometheus
- Grafana
- Gatling