by Ranjan Mangla
github: https://github.com/ranjanmangla1/
linkedin: https://linkedin.com/in/ranjan-mangla/
Here is the link to theĀ Problem Statement!
Brief Overview of Architecture
- The architecture employs microservices with a Web Sever(Gateway microservice), RabbitMQ message queue, and Consumer Workers.
- The Web Server handles user messages, publishing jobs to the queue.
- Workers asynchronously process tasks, scaling independently based on queue size.
- Docker ensures consistent deployment, and Kubernetes orchestrates scalability.
- MongoDB offers flexible data storage, while Python and Flask facilitate microservice implementation.
- RabbitMQ enables efficient asynchronous communication, contributing to high throughput.
Tools & Technologies Used
- Python (Flask): Python is a versatile programming language, and Flask is a lightweight web framework for building web applications in Python.
- RabbitMQ: RabbitMQ is a message broker that facilitates communication between different systems by enabling asynchronous messaging.
- Kubernetes: Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.
- Docker: Docker is a platform for developing, shipping, and running applications in containers, providing a consistent environment across different environments.
- Git: Git is a distributed version control system used for tracking changes in source code during software development.
- Prometheus (proposed): Prometheus is an open-source monitoring and alerting toolkit designed for reliability and scalability in containerized environments.