资讯动态

Online Boutique 完整拆解:11 个微服务如何撑起一个云原生电商 Demo

发布时间:2026/9/6 16:10:56 来源:尧图企业网站定制
Online Boutique 完整拆解11 个微服务如何撑起一个云原生电商 Demo【免费下载链接】microservices-demoSample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.项目地址: https://gitcode.com/GitHub_Trending/mi/microservices-demo想搭一套能演示浏览、加购、下单完整流程的微服务电商 Demo但又不想从零写一堆服务还希望它真实一点服务之间真的跨语言、跨进程调用购物车真的落在 Redis 里而不是一个 mock 出来的单体应用这就是 Online Boutique 存在的原因。它是什么Google Cloud 出品的微服务样板间Online Boutique 是 Google Cloud Platform 官方维护的一个 cloud-first 电商演示应用用户在网页上浏览商品、加入购物车、完成支付背后由 11 个用不同语言编写的微服务协作完成。它最大的卖点在于真实且开放——所有服务围绕 gRPC 和 Protocol Buffers 通信不依赖任何特定云任何 Kubernetes 集群GKE、Minikube、Kind 都行都能跑起来。架构拆解11 个服务一次下单数据怎么走把整个系统想象成一家百货商场每个服务都有自己的角色分工frontend是门店接待员唯一对浏览器开 HTTP 端口的服务自动为访客生成会话 ID其他页面元素都靠它从后场调货。productcatalogservice是货架商品数据来自products.json支持列表、搜索和单品查询最轻量的服务之一。cartservice是购物车柜台读写都走 Redis用户加购了什么、结账前购物车还剩什么都由它管。checkoutservice是收银台主管下单时它先取购物车再串联支付、运费估算和邮件通知是整条链的编排者。paymentservice、shippingservice、emailservice分别扮演模拟收银员、快递站和客服扣款、估价发货、发确认邮件全是 mock 但接口是真实的。currencyservice是汇率窗口对接欧洲央行真实汇率做币种换算也是全系统 QPS 最高的服务。adservice和recommendationservice是门口的广告牌和导购前者按关键词给文字广告后者根据购物车内容推荐其他商品。loadgenerator则是一群虚拟顾客用 Locust 持续发起真实的购物请求让你随时能看到流量下的服务表现。数据流向一目了然loadgenerator打到frontendfrontend再扇出调用目录、购物车、广告、推荐等服务一旦下单frontend转交checkout由它回调支付、物流、邮件和汇率服务购物车状态则始终落在 Redis 上。想看完整拓扑看上面的架构图即可。技术栈速览为什么故意用这么多语言语言服务搭配理由Gofrontend / productcatalog / checkout / shipping高并发场景的首选前端与编排服务都压得住C#cartservice演示 .NET 在容器环境下的完整落地还内置了 Redis/Spanner/AlloyDB 多存储实现Node.jspayment / currency轻量无状态服务起步成本最低Pythonemail / recommendation / loadgenerator胶水型、任务型逻辑写起来最快Javaadservice证明 JVM 服务与其余服务同样能无缝融入 gRPC 生态这种语言混搭不是炫技而是刻意的教学点微服务落地的真实世界里团队必然是异构的gRPC Protocol Buffers定义集中在 protos/ 目录就是让 5 种语言互相通话的契约。上手路径从 clone 到访问首页 3 步走前置条件很简单kubectl外加一条 Kubernetes 集群GKE 或本地 Minikube / Kind 均可。克隆仓库git clone https://gitcode.com/GitHub_Trending/mi/microservices-demo选部署路径最快路线GKE仓库里的release/kubernetes-manifests.yaml已把所有服务打包好一条kubectl apply -f ./release/kubernetes-manifests.yaml即可本地开发路线装好 skaffold在 Minikube 或 Kind 上执行skaffold run它会一次性构建并推送 11 个服务的镜像变体路线Istio 服务网格、网络策略、Cloud Spanner、Memorystore 等可选模块都在 kustomize/components/ 下按需叠加。kubectl get pods看到全部Running后从frontend-externalservice 拿外部 IP 用浏览器访问一个能逛能买的店面就开张了。能学到什么这份代码库的含金量你能读懂一次完整下单的全部环节从frontend发起到checkout编排支付、物流、邮件跟着调用链走一遍比看十篇理论文章直观。你能掌握 gRPC 的落地方式genproto.sh展示各语言如何从同一份.proto生成桩代码改一个接口定义、看它如何影响所有客户端。你能学会用 Kustomize 组装部署基础清单放在 kustomize/base/每个组件是一份补丁这基本就是生产环境 GitOps 的缩影。你能看到存储演进的活例子cartservice同时提供 Redis、Spanner、AlloyDB 三种购物车实现见 src/cartservice/src/cartstore/换数据库在微服务里到底意味着什么这里写得明明白白。动手从你的第一个集群开始别再收藏了——挑一台机器把 Minikube 拉起来skaffold run跑通 Online Boutique然后打开checkoutservice的源码沿着一次下单把 11 个服务串起来。你会发现云原生的第一课不在文档里而在你kubectl get pods的那一刻。【免费下载链接】microservices-demoSample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.项目地址: https://gitcode.com/GitHub_Trending/mi/microservices-demo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价