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

news/2024/7/8 8:14:43 标签: 学习, 笔记, 微服务, 谷粒商城

文章目录

  • 一,商城业务服务-前端服务
  • 二,商城业务服务-后端服务
  • 三,存储服务
  • 四,第三方服务
  • 五,服务治理
  • 六,日志
  • 七,监控预警系统
    • 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.niftyadmin.cn/n/5536837.html

相关文章

手写SpringMVC之调度器DispatcherServlet

DispatcherServlet:分发、调度 根据上一节,已经实现了将controller的方法添加到容器中,而DispatcherServlet的作用就是接收来自客户端的请求,然后通过URI的组合,来找到对应的RequestMapping注解的方法,调用…

Ubuntu20.04突然没网的一种解决办法

本来要学一下点云地图处理,用octomap库,但是提示少了octomap-server库,然后通过下面命令安装的时候: sudo apt install ros-noetic-octomap-server 提示:错误:7 https://mirrors.ustc.edu.cn/ubuntu focal-security …

电商数据仓库

1.数据仓库的数据来源为业务数据库(mysql) 2.通过sqoop将mysql中的业务数据导入到大数据平台(hive) 3.通过hive进行数据计算和数据分析 形成数据报表 4.再通过sqoop将数据报表导出到mysql 5.使用FineReport制作数据报表 1.数据…

Pytorch实战(二):VGG神经网络

文章目录 一、诞生背景二、VGG网络结构2.1VGG块2.2网络运行流程2.3总结 三、实战3.1搭建模型3.2模型训练3.3训练结果可视化3.4模型参数初始化 一、诞生背景 从网络结构中可看出,所有版本VGG均全部使用33大小、步长为1的小卷积核,33卷积核同时也是最小的能…

[Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在醫療領域的創新應用 隨著科技的快速發展,人工智能(AI)在各行各業的應用越來越廣泛,醫療領域也不例外。AI技術在醫療中的應用不僅提高了診斷的準確性,還改善了病患的治療效果,優化了醫療資源的配置。本…

Linux python3.6安装mayavi报错

需要将vtk版本降级,以及uninstall pyqt5(安装的vtk版本是9.3.1) pip3 install vtk8.1.0 或者9.0.1 报错 Building wheels for collected packages: mayavi Building wheel for mayavi (setup.py) ... error ERROR: Command errored out…

【笔记】字符串相似度代码分享

目录 一、算法介绍1、算法1)基于编辑距离2)基于标记3)基于序列4)基于压缩5)基于发音6)简单算法 2、安装 二、代码demo1、Hamming 距离2、Levenshtein 距离3、Damerau-Levenshtein距离4、Jaro 相似度5、Jaro…

图形的搭建

例一: 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。 输出描述: 针对每行输入,输出用“*”组成的X形图案。 示例一&…