谷粒商城学习笔记(三):简介-项目微服务划分图

一、微服务划分图

请添加图片描述

二、前后端分离

这个项目是基于前后端分离的开发,需要创建一些前端项目,admin-vue是面向工作人员的后台管理系统shop-vue是面向公众访问的web网站系统,当然也可以有app、小程序等。

三、网关

首先,请求从前端通过网关,到达业务的微服务群,这个网关还可以完成一些其它的工作,比如:限流、熔断降级等。等请求到达业务的微服务群之后,这些业务就进行处理,当然,可以有更多其它的业务,下面列举的业务,就是我们要编写的业务。

四、业务微服务群

  • 商品服务:商品的上下架,商品的增删改查等
  • 支付服务:集成了支付的功能
  • 优惠服务:商品相关的优惠信息
  • 用户服务:用户的个人中心,用户的售货地址列表等
  • 仓储服务:数据藏在哪个仓库的哪里
  • 订单服务:完成订单相关的功能,完成一些定删的增删改查。
  • 检索服务:使用ElasticSearch来做全文检索服务。
  • 中央认证服务:通过它来做登录注册
  • 购物车服务:购物车里面商品的增删改查,通过购物车来结账等
  • 独立后台管理系统:想要通过后台来添加一些优惠信息,或者新增一些商品等,那后台管理系统也是给相应的服务发相应的请求

五、第三方服务

服务在编写期间,可能要依赖一些第三方的服务,比如:物流、短信、金融、身份认证,直接调用它们的接口即可

六、服务治理

在微服务治理期间,如何让他们有条不紊、健壮地运行起来呢?

  • 使用Nacos作为注册中心
  • 使用Nacos作为配置中心
  • Seata来做分布式事务
  • Sentinel来做服务容错。
    这些组件是阿里巴巴SpringCloud所提供的。

而Feign、Gateway、Sleuth、Zipkin这四个组件是SpringCloud提供的。

七、状态监控

关于整个应用的状态监控,则使用prometheus、Grafana

八、数据层

  • 数据层使用Redis作为缓存
  • 使用MySQL进行持久化
  • 使用ShardingSphere来帮助MySQL做分库分表的操作
  • 使用RabbitMQ来做消息队列
  • 使用ElasticSearch来进行全文检索
  • 使用阿里云的对象存储,来存储图片、视频等相关的静态文件。

九、参考资料

猜你喜欢

转载自blog.csdn.net/e2788666/article/details/131100221