This project implements a distributed URL shortener system inspired by bit.ly. It leverages Docker containers for easy deployment and management, Cassandra for storing URL mappings, and Redis for caching frequently accessed URLs.
- URL Shortening: Users can generate short URLs for long web addresses.
- Distributed Architecture: The system is designed to handle high traffic and scalability using distributed technologies.
- Caching: Redis is used to cache frequently accessed URLs, improving response times.
- Dockerized Deployment: The system is containerized using Docker, enabling easy deployment and scaling across different environments.
- Docker: Docker containers are used to encapsulate and deploy various components of the system.
- Cassandra: Cassandra is used as the distributed database to store URL mappings efficiently.
- Redis: Redis acts as a caching layer to optimize the retrieval of URLs.
- Python/Flask: The backend server is implemented using Python and Flask, providing an HTTP interface for URL shortening operations.
To deploy the system locally or in a production environment, ensure Docker is installed on your system. Then, follow the deployment instructions provided in the project's documentation.
To get started with the system, clone the repository and follow the setup instructions in the README.md
file. Make sure you have Docker, Cassandra, and Redis installed and configured correctly.
To use without docker swarm:
./autostart.sh [IP1] [IP2] [IP3] ...
To use with docker swarm:
./fastautostart.sh [IP1] [IP2] [IP3] ...
To shutdown everything:
./shutdown