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

news/2024/10/6 17:53:01/

文章目录

  • 一,商城业务服务-前端服务
  • 二,商城业务服务-后端服务
  • 三,存储服务
  • 四,第三方服务
  • 五,服务治理
  • 六,日志
  • 七,监控预警系统
    • 1,Prometheus
    • 2,Grafana
    • 3,Prometheus + Grafana 的结合

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

原图如下。
在这里插入图片描述

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

这部分服务是学习过程中需要从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 的配合使用能够提供实时的监控数据收集、存储、查询、可视化和警报功能,非常适合用于大规模系统和云原生环境的监控。


http://www.ppmy.cn/news/1474011.html

相关文章

暴雨受邀参加第三届中国数据中心服务器与设备峰会

7月2-3日,第三届中国数据中心服务器与设备峰会在上海召开,作为国内最聚焦在服务器领域的专业峰会,吸引了来自全国的行业专家、服务器与机房设备厂家,企业IT用户,数据中心业主共同探讨AIGC时代下智算中心设备的设计之道…

����: �Ҳ������޷��������� javafx.fxml ԭ��: java.lang.ClassNotFoundException解决方法

如果你出现了这个问题,恭喜你,你应该会花很多时间去找解决方法。别问我怎么知道的... 解决方法: 出现乱码的原因:配置vm时 这些配置看似由有空格,换行,实则没有。所以解决办法就是,重新配置你…

el-table 树状表格查询符合条件的数据

需要对el-table的树状表格根据输入机构名称&#xff0c;筛选出符合条件的数据&#xff0c;可用如下方法&#xff1a; 页面内容如下&#xff1a; <el-input v-model"ogeName" placeholder"请输入机构名称"><el-table :data"list" row…

Redis IO多路复用

0、前言 本文所有代码可见 > 【gitee code demo】 本文涉及的主题&#xff1a; 1、BIO、NIO的业务实践和缺陷 2、Redis IO多路复用&#xff1a;redis快的主要原因 3、epoll 架构 部分图片 via 【epoll 原理分析】 1、BIO单线程版 1.1 业务代码 client client代码相同…

数据库——数据库性能优化

title: 数据库——数据库性能优化 date: 2024-07-06 12:26:21 tags: 数据库 categories: 数据库 cover: /image/T1.jpg description: 数据库——MySQL的性能优化 数据库优化 系统的吞吐量瓶颈往往出现在数据库的 访问速度 上&#xff0c;随着应用程序的运行&#xff0c;数据库…

上海外贸建站公司wordpress模板推荐

Sora索啦高端制造业wordpress主题 红色高端制造业wordpress主题&#xff0c;适合外贸企业出海建独立站的wordpress模板。 https://www.jianzhanpress.com/?p5885 Yamal外贸独立站wordpress主题 绿色的亚马尔Yamal外贸独立站wordpress模板&#xff0c;适用于外贸公司建独立站…

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …

Spring框架Mvc(2)

1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 &#xff0c;测试结果 3.用Json来对其进行数据的传递 &#xff08;1&#xff09;Json是一个经常使用的用来表示对象的字符串 &#xff08;2&#xff09;Json字符串在字符串和对象…