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

优质博文: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,非其他)。

相关推荐
新手小袁_J9 分钟前
RabbitMQ的发布订阅模式
java·开发语言·redis·spring·缓存·java-rabbitmq
小笨猪-13 分钟前
RabbitMQ应用问题
java·redis·分布式·rabbitmq
paopaokaka_luck35 分钟前
[357]基于springboot的中小型制造企业质量管理系统
spring boot·后端·制造
码上一元1 小时前
缓存淘汰策略:Redis中的内存管理艺术
java·redis·缓存
cyt涛1 小时前
SpringCloudGateway — 网关路由
java·开发语言·网关·gateway·路由·断言·转发
睡觉谁叫1 小时前
一文解秘Rust如何与Java互操作
android·java·flutter·跨平台
漫天转悠1 小时前
windwos安装多版本Maven(图文详细版)
java·maven
慧都小妮子1 小时前
Spire.PDF for .NET【页面设置】演示:获取 PDF 文件中的页数
java·pdf·.net
minos.cpp2 小时前
《Java并发编程的艺术》笔记 —— 第一章
java·笔记·idea