Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mahdi-eth/online-store-microservices
Online Store Microservices is a scalable architecture for an online retail platform, built with Go, Docker, and Kubernetes. It features three core services—Product (PostgreSQL), Order (MongoDB), and Inventory (Redis)—with inter-service communication via HTTP and message broker NATS. Kubernetes manages deployment and scaling.
https://github.com/mahdi-eth/online-store-microservices
backend-development containerization devops distributed-systems docker go kubernetes message-broker microservices nats online-store scalability service-discovery
Last synced: 7 days ago
JSON representation
Online Store Microservices is a scalable architecture for an online retail platform, built with Go, Docker, and Kubernetes. It features three core services—Product (PostgreSQL), Order (MongoDB), and Inventory (Redis)—with inter-service communication via HTTP and message broker NATS. Kubernetes manages deployment and scaling.
- Host: GitHub
- URL: https://github.com/mahdi-eth/online-store-microservices
- Owner: mahdi-eth
- Created: 2024-09-01T06:27:45.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2024-09-01T06:28:42.000Z (about 1 month ago)
- Last Synced: 2024-09-21T18:38:35.822Z (12 days ago)
- Topics: backend-development, containerization, devops, distributed-systems, docker, go, kubernetes, message-broker, microservices, nats, online-store, scalability, service-discovery
- Language: Go
- Homepage:
- Size: 23.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# OnlineStore-Microservices
## Overview
OnlineStore-Microservices is a demonstration of a microservices architecture for an online store. This project showcases how to build and deploy a set of microservices using Go, Kubernetes, Docker, and message broker NATS.## Features
- **Product Service**: Manages product information using PostgreSQL.
- **Order Service**: Handles order processing with MongoDB.
- **Inventory Service**: Tracks inventory levels with Redis.
- **Inter-service Communication**: Uses HTTP and message brokers for communication.
- **Deployment & Orchestration**: Managed using Kubernetes for scalable and reliable deployments.## Technologies
- **Go**: Programming language used for microservices development.
- **Kubernetes**: Orchestration platform for containerized applications.
- **Docker**: Containerization for consistent deployment environments.
- **NATS**: Message brokers for asynchronous communication.
- **PostgreSQL**: Relational database for the Product Service.
- **MongoDB**: NoSQL database for the Order Service.
- **Redis**: In-memory data structure store for the Inventory Service.## Getting Started
### Prerequisites
- Docker
- Kubernetes
- kubectl (Kubernetes CLI)
- Go (for building the microservices)### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/mahdi-eth/online-store-microservices.git
cd online-store-microservices
```2. **Build Docker Images:**
```bash
docker compose build
```3. **Deploy to Kubernetes:**
- Apply the Kubernetes manifests:
```bash
kubectl apply -f kubernetes/pvcs/
kubectl apply -f kubernetes/deployments/
kubectl apply -f kubernetes/services/
```