用于创建和配置 Google Kubernetes Engine(GKE)集群的 Terraform 模块,内置节点池与网络策略等默认配置。
GoogleCloudPlatform/microservices-demo
Google Cloud 出品的微服务电商示例应用,基于 Kubernetes 运行,服务间通过 gRPC 通信。
- Star
- 21,159
- Fork
- 10,650
- 未关闭 Issue
- 105
- 最近提交
- 11天前
这是什么?
Online Boutique 是一个示例网上商店,由多种语言(Go、C#、Node.js、Python、Java)编写的十余个微服务组成。用户可以浏览商品、把商品加入购物车并完成结账。各服务之间通过 gRPC 通信,仓库中附带了 Protocol Buffers 接口定义。
该项目用于演示如何把应用迁移到 Kubernetes 和 Google Cloud 上。它提供了基于单个 kubectl 清单部署到 GKE 的方式,并包含 Istio 或 Cloud Service Mesh 的 Kustomize 变体、Terraform 配置以及 Cloud Operations 链路追踪。文档也说明了如何在 Minikube、Kind 等非 GKE 集群上运行。
支付、邮件等服务为模拟实现,运输服务也不会对接真实物流。仓库还包含可选的基于 Gemini 的购物助手,以及模拟购物流量的压测组件。
核心功能
- 01网页前端支持浏览商品、加入购物车并结账,无需登录
- 02各服务通过 gRPC 通信,并提供 Protocol Buffers 接口定义
- 03可用一条 kubectl 命令或 Terraform 部署到 GKE
- 04Kustomize 变体可加入 Istio、Cloud Service Mesh 和 Cloud Operations 追踪
- 05可运行于任意 Kubernetes 集群,包括 Minikube 和 Kind
适用场景
- 学习多语言微服务系统在 Kubernetes 上的组织方式
- 在接近真实的负载上测试服务网格或可观测性方案
- 在可运行的应用中练习 gRPC 服务间通信
- 向团队演示 GKE 部署流程
快速上手
- 1
确保拥有 Google Cloud 项目以及 gcloud、git 和 kubectl
- 2
克隆最新主版本
git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git - 3
创建 GKE 集群
gcloud container clusters create-auto online-boutique --project=${PROJECT_ID} --region=${REGION} --labels dev-tutorial=online-boutique - 4
将 Online Boutique 部署到集群
kubectl apply -f ./release/kubernetes-manifests.yaml
使用前须知
- 主要面向 Google Kubernetes Engine,快速开始需要 Google Cloud 项目。
- 这是演示应用,支付、物流和邮件服务均为模拟实现。
收录于专题
标签
常见问题
- microservices-demo 是什么?
- Google Cloud 出品的微服务电商示例应用,基于 Kubernetes 运行,服务间通过 gRPC 通信。 Online Boutique 是一个示例网上商店,由多种语言(Go、C#、Node.js、Python、Java)编写的十余个微服务组成。用户可以浏览商品、把商品加入购物车并完成结账。各服务之间通过 gRPC 通信,仓库中附带了 Protocol Buffers 接口定义。
- microservices-demo 可以免费使用吗?用的什么许可证?
- microservices-demo 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- microservices-demo 还在维护吗?
- 活跃维护中。microservices-demo 最近一次提交是在 2026年10月27日。
- microservices-demo 适合用来做什么?
- 学习多语言微服务系统在 Kubernetes 上的组织方式 在接近真实的负载上测试服务网格或可观测性方案 在可运行的应用中练习 gRPC 服务间通信 向团队演示 GKE 部署流程
- microservices-demo 怎么安装和运行?
- 确保拥有 Google Cloud 项目以及 gcloud、git 和 kubectl 克隆最新主版本: git clone --depth 1 --branch v0 https://github.com/GoogleCloudPlatform/microservices-demo.git 创建 GKE 集群: gcloud container clusters create-auto online-boutique --project=${PROJECT_ID} --region=${REGION} --labels dev-tutorial=online-boutique 将 Online Boutique 部署到集群: kubectl apply -f ./release/kubernetes-manifests.yaml
- 在哪里获取 microservices-demo?
- 源代码和安装说明在 GitHub 上:https://github.com/GoogleCloudPlatform/microservices-demo
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个多语言微服务示例应用,可部署到 Azure Kubernetes Service(AKS)上,模拟真实的在线商店场景。
一个在 GitHub 仓库中运行 Gemini CLI 的 Action,可用于审查 PR、分流 Issue 并响应 @gemini-cli 指令。
基于 Envoy 实现 Kubernetes Gateway API 的云原生 API 网关,也可用作 AI 网关。
基于 .NET 10 与 Aspire 的微服务风格电商参考应用,用于学习多服务系统的组织方式。
一款声明式 GitOps 持续交付工具,可将 Kubernetes 应用同步为 Git 仓库中定义的状态。