谷粒商城学习笔记-05-项目微服务划分图

文章目录

这一节介绍了谷粒商城的服务划分,从不同功能的服务的角度介绍了整个项目。

原图如下。

一,商城业务服务-前端服务

这部分服务是学习过程中需要从0到1编码实现的,包括:

  • 后台管理系统,即图中admin-vlue,是给商城管理人员使用的
  • 商城系统,即图中的shop-vue,是面向消费者的

前端的请求通过网关转发个以后台服务。

二,商城业务服务-后端服务

这部分服务是学习过程中需要从0到1编码实现的,包括:

  • 商品服务,提供商品的增删改查
  • 优惠服务,管理各种优惠活动,比如秒杀、优惠券、满减等等
  • 仓储服务
  • 订单服务
  • 中央认证服务
  • 支付服务
  • 用户服务
  • 秒杀服务
  • 检索服务
  • 购物车服务

三,存储服务

这个项目中,存储服务选用多个中间件。

  • 持久化存储选用了MySQL,搭建了MySQL集群,采用读写分离的策略。
  • 缓存选用了Redis,搭建了Redis集群。
  • 消息中间件选用了RabbitMQ。
  • 日志存储选用了Elasticsearch。
  • 商品搜索存储选用了Elasticsearch。
  • 图片存储使用阿里云的OSS。

四,第三方服务

第三方服务是指第三方提供的服务,不需要我们开发,通过调用接口的方式使用第三方开发好的服务。如:

  • 短信服务,调用通信运营商提供的短信服务。
  • 金融服务,调用金融机构的支付服务。
  • 身份认证服务,比如微信的身份认证。
  • 物流服务,调用物流或者快递的服务,给物流企业下订单,由物流企业将商品运输、分发到消费者。

五,服务治理

服务治理是指管理、监控所有的业务服务的服务。

包括:

  • 网关
  • 注册中心
  • 配置中心
  • Seata分布式事务
  • Sentinel服务容错
  • feign服务远程调用
  • Sleuth服务追踪
  • Zipkin可视化追踪

六,日志

日志记录了系统运行过程中的各种信息,是排查线上问题的必备资料。

这个项目使用ELK作为日志采集、管理、查询系统。

  • Logstash收集日志
  • 存储到Elasticsearch中
  • 用可视化工具Kibana作为前端工具搜索、展示日志

日志查询界面如下。

七,监控预警系统

使用Prometheus收集系统信息,配合Grafana可视化信息。

Prometheus 和 Grafana 是在现代监控系统中经常被一起使用的两个开源工具,它们各自具有独特的优势,当它们结合起来时,能够提供全面且强大的监控解决方案。下面简要说明它们如何配合完成系统监控工作:

1,Prometheus

Prometheus 是一个开源的监控系统和时间序列数据库,它专注于实时监控,特别适合于云原生环境。Prometheus 的优势包括:

  1. 主动抓取数据:Prometheus 主动从被监控的目标抓取数据,这称为"拉"模式。这使得 Prometheus 能够监控任何提供 HTTP 接口的系统,无需额外的 SDK 或集成。

  2. 高性能时间序列数据库:Prometheus 内置了一个高效的时间序列数据库,能够存储大量的监控数据,并支持快速查询。

  3. 灵活的查询语言:PromQL(Prometheus Query Language)是一种强大的查询语言,允许用户进行复杂的查询和聚合操作,以便对监控数据进行深入分析。

  4. 警报管理:Prometheus 提供了丰富的警报规则和通知机制,可以及时发现并应对系统异常。

2,Grafana

Grafana 是一个开源的数据可视化平台,它提供了一个直观的界面来展示和分析来自多个数据源的数据。Grafana 的优势包括:

  1. 数据可视化:Grafana 支持多种图表类型和面板,如折线图、直方图、表格、热图等,可以创建复杂的仪表板,将监控数据可视化。

  2. 多数据源支持:除了 Prometheus,Grafana 还能连接到其他数据源,如 InfluxDB、Elasticsearch、MySQL 等,这使得它成为一个通用的可视化工具。

  3. 交互式探索:Grafana 允许用户进行实时数据探索,可以动态调整时间范围、过滤条件和图表类型,以获得更深入的洞察。

  4. 共享和协作:Grafana 支持仪表板的共享和协作,用户可以轻松地与其他团队成员分享监控结果。

如下图,Grafana可以非常直观、形象的图表形式展示系统信息。

3,Prometheus + Grafana 的结合

Prometheus 和 Grafana 的结合提供了以下优势:

  • 完整的监控解决方案:Prometheus 负责数据的收集和存储,Grafana 负责数据的可视化和呈现,两者结合形成了一个完整的监控和可视化解决方案。

  • 高效的故障检测和响应:Prometheus 的警报机制可以迅速通知管理员系统异常,而 Grafana 的可视化功能则帮助快速定位问题根源。

  • 灵活的扩展性:由于 Prometheus 和 Grafana 都是模块化的,它们可以很容易地集成到现有的监控架构中,或者随着需求的增长进行扩展。

综上所述,Prometheus 和 Grafana 的配合使用能够提供实时的监控数据收集、存储、查询、可视化和警报功能,非常适合用于大规模系统和云原生环境的监控。

相关推荐
鸭鸭梨吖5 分钟前
产品经理笔记
笔记·产品经理
Chef_Chen6 分钟前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
齐 飞31 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!1 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚1 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
听忆.1 小时前
手机屏幕上进行OCR识别方案
笔记
幼儿园老大*2 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
Selina K2 小时前
shell脚本知识点记录
笔记·shell
2 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习