- 展示mono-repo风格的项目结构(不同于kratos-layout创建的风格)
- 实践多个服务间通信
- 实例展示kratos和多个基础设施服务结合,例如databases,caches和消息队列mq。
- 这个项目只是模拟微服务的方案,请大胆发挥想象力。
这一章节描述项目的各个组件。
所有的 API .proto
文件和生成的 .go
文件都在此目录。
此目录结构和目录 /app/
类似。
所有服务的源码都放在这个目录。
此服务管理所有销售的商品信息。
- 和Ent框架集成
- 服务注册
购物车服务,管理用户将要购买的商品
- 集成MongoDB
- 服务注册
用户服务,管理用户信息。
- 集成Ent框架
- 服务注册
此服务模拟消息队列MQ生产者,会发送购物消息到消息队列。
- 集成MQ
- 服务注册
此服务模拟消息队列MQ消费者,会从消息队列中消费消息。
- 集成MQ
订单服务,管理用户的订单。
- 集成GORM框架
- 服务注册
支付服务,模拟支付认证。
- 服务注册
管理端的BFF服务,管理整个商城
- 服务发现
- 和其他服务交互
管理端的BFF服务,管理整个商城
- 服务发现
- 和其他服务交互
- 集成缓存
公共的包,各个服务都可以引用。
dockerfile和部署脚本
前端项目
整个项目的架构蓝图[TBD]