Welcome to the Instagram Clone
project, which aims to replicate the core functionalities of the popular social media platform, Instagram, while demonstrating :
How to build and deploy fault tolerant distributed systems.
-
Rust
to write all the backend microservices (except the backend gateway microservice which is written inGoLang
). -
Postgres
as the primary database. -
Meilisearch
for implementing full text search feature. -
Redpanda
(a Kafka alternative) as the message broker |Debezium
for implementing CDC (Change Data Capture). -
Vector
for log ingestion |SigLens
for centralized log, metric and trace collection. -
Docker
withDocker Compose
to run everything in a development environment.
- Write tests for the backend.
A blog by SemaphoreCI on
Testing Strategies For Microservices
- https://semaphoreci.com/blog/test-microservices
If you encounter any bugs, have feature requests, or just want to discuss about the project, please open an issue.
- Microservices Patterns book by Chris Richardson
- Jordan has no life's Youtube video on how to design a social media platform like Instagram
- The Rust Book
- Crust of Rust Youtube playlist by Jon Gjengset
- Lazy Static Pattern in Rust
- Youtube channels - Mario Carrion | Viktor Farcic
- Vivek Singh's Youtube playlist on how to write a custom Kubernetes controller
- Heiko's Blogs on how to instrument Rust codebase for Distrbuted Tracing