1. SpringCloudAlibaba 实践笔记:项目介绍

整个项目主要分为用户微服务、商品微服务和订单微服务,整个过程模拟的是用户下单扣减库存的操作。

项目流程设计

image

用户微服务、商品微服务和订单微服务的整体流程为:

  • 用户通过客户端调用订单微服务的提交订单的接口
  • 订单微服务会分别调用用户微服务和商品微服务的接口来查询用户信息和商品信息,并校验商品库存是否充足
  • 如果商品库存充足的话,就会保存订单。并且会调用商品微服务的扣减库存的接口来扣减库存。
  • 返回用户提交订单结果。

技术选型

整个项目采用SpringCloud Alibaba技术栈实现,主要的技术选型如下所示。

  • 持久层框架:MyBatis、MyBatis-Plus
  • 微服务框架:SpringCloud Alibaba
  • 消息中间件:RocketMQ
  • 服务治理与服务配置:Nacos
  • 负载均衡组件:Ribbon
  • 远程服务调用:Fegin
  • 服务限流与容错:Sentinel
  • 服务网关:SpringCloud-Gateway
  • 服务链路追踪:Sleuth+ZipKin
  • 分布式事务:Seata
  • 数据存储:MySQL+ElasticSearch

项目结构

shop-springcloud-alibaba
	|--shop-bean
		|--pom.xml
	|--shop-product
		|--pom.xml
	|--shop-order
		|--pom.xml
	|--shop-user
		|--pom.xml
	|--shop-utils
		|--pom.xml
	|--pom.xml
  • shop-springcloud-alibaba:Maven父工程。
  • shop-bean:各服务都会使用的JavaBean模块,包含实体类、Dto、Vo等JavaBean。
  • shop-utils:各服务都会使用的工具类模块。
  • shop-order:订单微服务,监听的端口为8080。
  • shop-product:商品微服务,监听的端口为8070。
  • shop-user:用户微服务,监听的端口为8060。
posted @ 2024-11-06 20:03  Jacob-Chen  阅读(76)  评论(0)    收藏  举报