This project presents a container-based Docker Compose orchestrated solution for a microservices architecture. It combines various data stores and technologies, all working in synchronization to deliver a cohesive system. The architecture comprises four APIs: Basket API, Discount API, Ordering API, and Catalog API.
- Data Store: Utilizes Redis cache for data storage.
- Data Store: Relies on MongoDB for data storage.
- Data Store: Uses PostgreSQL as its primary data store.
- Data Store: Operates with SQL Server for data storage.
- Acts as the messaging platform within the microservices architecture, facilitating communication and event-driven interactions between services.
- Serves as the entry point for the microservices architecture, managing and routing incoming requests to the appropriate services.
The project is containerized and orchestrated using Docker Compose, enabling seamless deployment and scaling of the microservices architecture.
To run this microservices architecture locally:
- Clone this repository to your local environment.
- Ensure Docker and Docker Compose are installed.
- Navigate to the project directory.
- Run
docker-compose up
to start the entire microservices ecosystem. - Access the APIs through the designated ports provided by the Docker Compose setup.
Each API and data store may have specific configurations and endpoints. Refer to the documentation or configuration files within each service's directory for detailed setup instructions and API usage guidelines.
Contributions to this microservices project are encouraged. If you have enhancements, bug fixes, or additional features to propose, please submit a pull request following the outlined contribution guidelines.
This microservices project is licensed under the MIT License.
Please note that while this project aims to provide a functional and cohesive microservices architecture, it is provided as-is. Users should ensure they have the necessary permissions and comply with relevant regulations when using or modifying this architecture.
For any inquiries or issues, please contact the project maintainers.
Maintainers:
Neel Acharya - [email protected]
Last Updated: 25-Nov-2023