文章目录
- 一,商城业务服务-前端服务
- 二,商城业务服务-后端服务
- 三,存储服务
- 四,第三方服务
- 五,服务治理
- 六,日志
- 七,监控预警系统
-
- 1,Prometheus
- 2,Grafana
- [3,Prometheus + 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 的优势包括:
-
主动抓取数据:Prometheus 主动从被监控的目标抓取数据,这称为"拉"模式。这使得 Prometheus 能够监控任何提供 HTTP 接口的系统,无需额外的 SDK 或集成。
-
高性能时间序列数据库:Prometheus 内置了一个高效的时间序列数据库,能够存储大量的监控数据,并支持快速查询。
-
灵活的查询语言:PromQL(Prometheus Query Language)是一种强大的查询语言,允许用户进行复杂的查询和聚合操作,以便对监控数据进行深入分析。
-
警报管理:Prometheus 提供了丰富的警报规则和通知机制,可以及时发现并应对系统异常。
2,Grafana
Grafana 是一个开源的数据可视化平台,它提供了一个直观的界面来展示和分析来自多个数据源的数据。Grafana 的优势包括:
-
数据可视化:Grafana 支持多种图表类型和面板,如折线图、直方图、表格、热图等,可以创建复杂的仪表板,将监控数据可视化。
-
多数据源支持:除了 Prometheus,Grafana 还能连接到其他数据源,如 InfluxDB、Elasticsearch、MySQL 等,这使得它成为一个通用的可视化工具。
-
交互式探索:Grafana 允许用户进行实时数据探索,可以动态调整时间范围、过滤条件和图表类型,以获得更深入的洞察。
-
共享和协作:Grafana 支持仪表板的共享和协作,用户可以轻松地与其他团队成员分享监控结果。
如下图,Grafana可以非常直观、形象的图表形式展示系统信息。
3,Prometheus + Grafana 的结合
Prometheus 和 Grafana 的结合提供了以下优势:
-
完整的监控解决方案:Prometheus 负责数据的收集和存储,Grafana 负责数据的可视化和呈现,两者结合形成了一个完整的监控和可视化解决方案。
-
高效的故障检测和响应:Prometheus 的警报机制可以迅速通知管理员系统异常,而 Grafana 的可视化功能则帮助快速定位问题根源。
-
灵活的扩展性:由于 Prometheus 和 Grafana 都是模块化的,它们可以很容易地集成到现有的监控架构中,或者随着需求的增长进行扩展。
综上所述,Prometheus 和 Grafana 的配合使用能够提供实时的监控数据收集、存储、查询、可视化和警报功能,非常适合用于大规模系统和云原生环境的监控。