系统上云-流量分析和链路分析

优质博文:IT-BLOG-CN

一、流量分析

【1】流量组成: 按协议划分,流量链路可分为HTTPSOTPQUIC三类。

HTTP SOTP QUIC
场景 所有HTTP请求,无固定场景 国内外APP等 海外APP端
链路选择 DNS/CDN(当前特指Akamai) APP端保底IP列表/动态IP下发 APP端保底IP列表/动态IP下发

【2】请求链路: 公司用户遍布世界各地,用户 --- 接入层(SLB/Gateway等)--- 服务 三者很可能不在一个地区,设计合理的访问链路,对用户体验提升明显。

宏观链路如图:

链路可分成两个阶段看:
Region前:用户请求选择合适的Region访问。链路选择作用于该阶段。
Region内:请求通过接入层进入Region后。流量调度作用于该阶段。

二、链路分析

链路选择阶段(Region前) :目前链路选择主要遵循用户流量就近访问接入层的原则。链路选择是怎么实现的?

HTTP SOTP QUIC
选择能力 DNS + GTM(Global Traffic Manager)/CDN(Akamai) App端无线网络框架自实现选路 App端无线网络框架自实现选路
选择逻辑 GTM即全局流量管理, 按负载权重、地域或运营商属性来进行流量分配, 为用户提供最佳访问IP。● CDN也是GTM解析的结果,单独列出是因为Akamai也具有链路选择能力,如根据路径、用户地理位置等选择请求源站。域名开启CDN加速后,一般海外用户的请求会被GTM解析到CDNTips:可通过webinfo查询域名的解析链,或通过dig(用海外DNS)检测域名是否开启Akamai加速 App需配置所有的入口IP,获取IP有两种(共存)方式:1、代码内置IP列表(静态)2、MCD(前身叫MTP)平台动态下发● 网络框架会根据一定的策略(链路质量/App当前网络属性/地理位置等)选择合适的链路IP发送请求 ● 同Sotp协议● 目前只有海外App在用

流量调度阶段(Region内链路) :该阶段是指请求进入Region后,请求是否允许在当前Region处理,否则转发至其他Region,实现流量跨Region的调度转发。

Region内请求链路:一般有以下几种场景(可自行甄别自己服务的请求链路)

链路1:SLB(Http) → 后端服务
场景 :一般为非SOA服务,如nodejs.net服务等,也存在一些Mobile Service
识别方式paas/captain查看是否有外网SLB入口。

链路2:SLB(Http) → H5 Gateway → 后端服务
场景: 接入了H5 Gateway的服务,一般都是SOA服务,也存在部分非SOA服务。
识别方式:Gateway Portal上根据AppIdSOA ServiceCode查询服务是否接入H5 Gateway(强调:Gateway团队有多套GW,这里是H5 Gateway,非其他)。

链路3:TCP Gateway(SOTP) → 后端服务
场景: 使用SOTP协议的Mobile ServiceTipsTCP Gateway仅限App端使用。
识别方式: 可在MTP平台根据Sotp Servicecode查询。

链路4:TCP Gateway(STOP) → H5 Gateway → 后端服务
场景: 接入了H5 Gateway的服务,且调用方为App。一般都是SOA服务,也存在部分非SOA服务。
识别方式: 先明确调用方必须为App,在Gateway Portal上根据AppIdSOA ServiceCode查询服务是否接入H5 Gateway(强调:Gateway团队有多套GW,这里是H5 Gateway,非其他)。

链路5:QUIC → H5 Gateway → 后端服务
场景: 接入了H5 Gateway的服务,且调用方为海外App(截止目前只有海外App使用了QUIC)。一般都是SOA服务,也存在部分非SOA服务。
识别方式: 先明确调用方必须为海外App,在Gateway Portal上根据AppIdSOA ServiceCode查询服务是否接入H5 Gateway(强调:Gateway团队有多套GW,这里是H5 Gateway,非其他)。

相关推荐
TT哇几秒前
【数据结构练习题】链表与LinkedList
java·数据结构·链表
Yvemil729 分钟前
《开启微服务之旅:Spring Boot 从入门到实践》(三)
java
Anna。。31 分钟前
Java入门2-idea 第五章:IO流(java.io包中)
java·开发语言·intellij-idea
.生产的驴1 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
爱上语文1 小时前
宠物管理系统:Dao层
java·开发语言·宠物
顽疲1 小时前
springboot vue 会员收银系统 含源码 开发流程
vue.js·spring boot·后端
机器之心1 小时前
AAAI 2025|时间序列演进也是种扩散过程?基于移动自回归的时序扩散预测模型
人工智能·后端
王ASC1 小时前
SpringMVC的URL组成,以及URI中对/斜杠的处理,解决IllegalStateException: Ambiguous mapping
java·mvc·springboot·web
是小崔啊1 小时前
开源轮子 - Apache Common
java·开源·apache
因我你好久不见2 小时前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg