一、整体治理:1、高并发拓扑架构和运行环境

本文探讨了电商的整体分布式拓扑架构,包括流量入口层、业务层和数据层,强调应用服务和数据层在高并发和高可用中的重要性。同时,梳理了核心业务链路,通过性能指标工具进行监控,并提供了核心主流程和功能调用链的样例。还介绍了代码部署运行环境,重点关注JVM、TOMCAT配置和应用代码。最后,总结了识别流量来源和潜在危机的方法。

一、电商整体分布式拓扑架构

1.1 整个电商拓扑架构分3层:

  • 流量入口层:负载、网关
  • 业务层:应用服务、中间件
  • 数据层:Redis、DB

负载和网关,更多是基础架构负责。

本文高并发和高可用,重点将在应用服务、数据层。

架构拓扑可以帮我们了解,整体运行机制。作为架构师,我们重点要做的是下一步摸底

1.2 梳理核心业务链路:

通过核心业务链路,在各节点间运行的结果,判断上下游服务能力是否对等,寻找薄弱点。

此时需要借助的性能指标工具:Grafana (Metric、TOMCAT、POD等)、skywalking、CAT等

梳理形式,给出了详细样例文档表格,详见第三章

二、电商代码部署运行环境

部署运行环境分为3层:

  • 底层:硬件、容器
  • 中间层:JVM虚机 、 TOMCAT
  • 上层:应用代码

本文的重点,是中间JVM、TOMCAT配置和上层的应用代码层,后面章节有专项介绍。

注意:大家接手一个应用,一个要去拉取JVM、TOMCAT相关的配置,关注应用依赖的各种代理Agent。

三、核心业务链梳理样例

3.1 核心主流程梳理

样例:线上用户下单流程

  1. 进站
  2. 首页
  3. CMS资源会场
  4. 商品列表
  5. 商品详情
  6. 领券
  7. 加购
  8. 确认订单
  9. 下单
  10. 支付
  11. 订单详情

3.2 功能调用链梳理

以前置聚合系统,展示商品详情页为例, 对前端接口如下:

  • url: /frontAggr/productDetail/主信息 日常峰值QPS 50W,TP99 50ms
  • url: /frontAggr/productDetail/物流时效, 日常峰值QPS 50W,TP99 50ms
  • url: /frontAggr/productDetail/详情信息, 日常峰值QPS 30W,TP99 30ms
  • url: /frontAggr/productDetail/其他, 日常峰值QPS 20W,TP99 50ms

前置聚合系统依赖的,下游各服务的接口如下:

重点注意:下游接口承诺支撑的QPS是否足以支撑自身、 每日超时次数、触发的访问限流次数等

接口地址接口功能简述可支承QPS/TPSTP9999-耗时msFeign
超时
ms
所属应用依赖数据库依赖Redis依赖下游接口有限流保护功能可降级500ms超时次数/天
/product/detail商品主信息100W2040xxxxxx
xxx价格、税费信息
xxx库存信息
xxx营销信息
xxx店铺信息
xxx配送信息
xxx销量、历史购买记录
xxx商品详情
xxx商品评价
xxx商品提问
其他

3.3 调用链应用梳理

面向前端的第一个系统是:“业务端聚合系统”,以这个系统加载商品详情页为例,

该系统的配置情况: 8C16G,120台,依赖Redis。

如果只作为一个开发,无需关注整个调用链应用。但作为资深的架构师,需要关注上下游服务能力是否匹配,此时上下游链路上,应用服务数量、CPU和内存使用率,就有意义。

应用名称业务域机器配置集群数量可弹性扩容CPU率内存率磁盘率依赖数据库依赖Redis依赖ES依赖MQ依赖KAFKA依赖JOB备注
com-product-query商品域8C16G8010%-40%50%-80%20%

3.4 应用环境配置

重点关注如下配置

  • JVM配置:GC类型、内存分配是否合理(JVM章节单独讲解)
  • TOMCAT配置:连接和线程是否匹配
  • Feign、Robbin、Hystrix 超时配置

四、本章重点总结

从拓扑上识别流量来源,通过梳理识别潜在危机

我们接手的不止是代码,还要关注系统部署运行环境

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米灵君的架构思维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值