microservices-demo  by GoogleCloudPlatform

Microservices demo showcasing Kubernetes, Istio, and gRPC

created 7 years ago
18,607 stars

Top 2.5% on sourcepulse

GitHubView on GitHub
Project Summary

Online Boutique is a sample e-commerce application demonstrating a cloud-first microservices architecture. It comprises 11 distinct microservices written in various languages, communicating via gRPC, and is designed to showcase modernization strategies using Google Cloud products on any Kubernetes cluster.

How It Works

The application features a polyglot microservices architecture, with each service handling a specific e-commerce function (e.g., product catalog, cart management, payment processing). Services communicate using gRPC, leveraging Protocol Buffers for data serialization. This approach allows for independent development, scaling, and technology choices for each component, facilitating modernization and showcasing best practices for cloud-native deployments.

Quick Start & Requirements

  • Install: Clone the repository and apply Kubernetes manifests:
    git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git
    cd microservices-demo/
    kubectl apply -f ./release/kubernetes-manifests.yaml
    
  • Prerequisites: Google Cloud project, gcloud CLI, kubectl, enabled Kubernetes Engine API.
  • Setup: Requires creating a GKE cluster, which can take several minutes.
  • Access: Obtain the external IP of the frontend service via kubectl get service frontend-external.
  • Docs: Development Guide

Highlighted Details

  • Showcases 11 microservices in Go, C#, Node.js, Python, and Java.
  • Demonstrates integration with Google Cloud services like GKE, Spanner, Memorystore, and AlloyDB.
  • Supports various deployment variations via Kustomize, including Istio/Cloud Service Mesh integration.
  • Includes a loadgenerator service using Python/Locust for simulating user traffic.

Maintenance & Community

This repository is maintained by Google Cloud Platform. The README encourages starring the repository to indicate interest.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README text. Users should verify licensing for commercial use or closed-source integration.

Limitations & Caveats

The quickstart guide is heavily geared towards Google Cloud Platform and GKE, with other deployment options requiring separate instructions. The README does not detail specific performance benchmarks or limitations of individual services.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
22
Issues (30d)
0
Star History
801 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.