This capstone project evaluates the performance and operational trade-offs of implementing gRPC-based microservices with and without a lightweight service mesh (Envoy).
- User Service (Port 50051): User management and authentication
- Order Service (Port 50052): Order processing and orchestration
- Payment Service (Port 50053): Payment processing
├── services/ # Individual microservices
│ ├── user-service/ # User management service
│ ├── order-service/ # Order processing service
│ └── payment-service/ # Payment processing service
├── proto/ # Protocol buffer definitions
├── pkg/ # Shared Go packages
├── deployments/ # Deployment configurations
├── scripts/ # Build and deployment scripts
├── tests/ # Integration and performance tests
└── docs/ # Project documentation
- Install dependencies:
go mod tidy - Generate protobuf code:
./scripts/generate-proto.sh - Run services:
docker-compose up --build
- Month 1: Core gRPC microservices implementation
- Month 2: Service mesh integration with Envoy
- Month 3: Performance analysis and benchmarking