当前位置: 首页 > news >正文

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

优质博文:IT-BLOG-CN

一、流量分析

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

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

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

  宏观链路如图:

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

二、链路分析

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

HTTPSOTPQUIC
选择能力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,非其他)。

相关文章:

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

优质博文:IT-BLOG-CN 一、流量分析 【1】流量组成: 按协议划分,流量链路可分为HTTP、SOTP、QUIC三类。 HTTPSOTPQUIC场景所有HTTP请求,无固定场景国内外APP等海外APP端链路选择DNS/CDN(当前特指Akamai)APP端保底IP列表/动态IP下…...

Apache 配置出错常见问题及解决方法

Apache 配置出错常见问题及解决方法 一、端口被占用问题 问题描述:在启动 Apache 时,出现“Address already in use”或类似的错误提示,这意味着 Apache 想要使用的端口已经被其他程序占用,导致 Apache 无法正常启动。原因分析: 系统中已经有其他的应用程序在使用 Apache…...

DGL库之dgl.function.u_mul_e(代替dgl.function.src_mul_edge)

DGL库之dgl.function.u_mul_e 语法格式例子 语法格式 dgl.function.u_mul_e代替了dgl.function.src_mul_edge dgl.function.u_mul_e(lhs_field, rhs_field, out)一个用于计算消息传递的内置函数,它通过对源节点(u)和边(e&#x…...

题目练习之二叉树那些事儿

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ 知道了二叉树的结…...

数字马力二面面试总结

24.03.07数字马力二面面试总结 前段时间找工作,做的一些面试笔记总结 大家有面试录音或者记录的也可以发给我,我来整理答案呀 数字马力二面面试总结 24.03.07数字马力二面面试总结你可以挑一个你的最有挑战性的,有难度的,最具有复杂性的项目,可以简单说一下。有没有和算…...

优化图片大小的方法

不能起到优化图片大小的方法有(C) A.减少每个像素点能够显示的颜色 B.减少像素点 C.使用ajax加载 D.使用WebP格式 C. 使用Ajax加载 Ajax是一种用于在网页中异步加载数据的技术,与图片大小的优化关系不大。它主要用于提高网页的加载效率&…...

DevOps-课堂笔记

各种 aaS 类比于计算机网络的 OSI 参考模型,一个软件应用项目需要不同的支撑层,例如从下至上大概需要: 硬件层面的服务器针对硬件做弹性分配的虚拟化机制,例如虚拟机在虚拟化环境内运行的 OS支撑软件应用的中间件,例…...

Redis - Hash 哈希

一、基本认识 ⼏乎所有的主流编程语⾔都提供了哈希(hash)类型,它们的叫法可能是哈希、字典、关联数 组、映射。在Redis中,哈希类型是指值本⾝⼜是⼀个键值对结构,形如key"key",value{{ field1, v…...

dns服务部署

配置主文件,编辑主配置文件设置监听IP , 重启服务:[rootlocalhost ~]# systemctl restart network 安装bind 主服务器IP信息: [rootlocalhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 129.168.160.131/24…...

【Hadoop和Hbase集群配置】3台虚拟机、jdk+hadoop+hbase下载和安装、环境配置和集群测试

目录 一、环境 二、虚拟机配置 三、 JDK、Hadoop、HBase的安装和配置 【安装和配置JDK】 【安装和配置Hadoop】 【安装和配置Hbase】 四、 Hadoop和HBase集群测试 【Hadoop启动测试】 【Hbase启动测试】 一、环境 OS: CentOS-7 JDK: v1.8.0_131 Hadoop: v2.7.6 Hb…...

超萌!HTMLCSS:超萌卡通熊猫头

效果演示 创建了一个卡通风格的熊猫头 HTML <div class"box"><div class"head"><div class"head-copy"></div><div class"ears-left"></div><div class"ears-right"></di…...

人脑与机器连接:神经科技的伦理边界探讨

内容概要 在当今科技飞速发展的时代&#xff0c;人脑与机器连接已成为一个引人注目的前沿领域。在这一背景下&#xff0c;神经科技的探索为我们打开了一个全新的世界&#xff0c;从脑机接口到人工智能的飞跃应用&#xff0c;不仅加速了技术的进步&#xff0c;更触动了我们内心…...

Mac M1 Docker创建Rocketmq集群并接入Springboot项目

文章目录 前言Docker创建rocketmq集群创建rocketmq目录创建docker-compose.yml新增broker.conf文件启动容器 Springboot 接入 rocketmq配置maven依赖修改appplication.yml新增消息生产者新增消费者测试发送消息 总结 前言 最近公司给配置了一台mac&#xff0c;正好有时间给装一…...

k8s 查看cpu使用率最高的pod

在 Kubernetes 中&#xff0c;可以使用 kubectl top 命令查看 Pod 的资源使用情况&#xff0c;从而找到 CPU 使用率最高的 Pod。 步骤 使用 kubectl top pods 查看所有 Pod 的 CPU 使用情况 运行以下命令查看集群中所有 Pod 的 CPU 和内存使用情况&#xff1a; kubectl top po…...

jenkins 构建报错 Cannot run program “sh”

原因 在 windows 操作系统 jenkins 自动化部署的时候, 由于自动化构建的命令是 shell 执行的,而默认windows 从 path 路径拿到的 shell 没有 sh.exe &#xff0c;因此报错。 解决方法 前提是已经安装过 git WINR 输入cmd 打开命令行, 然后输入where git 获取 git 的路径, …...

Netty ByteBuf 分配 | 池化复用 、直接内存

Netty ByteBuf 分配 本文主要内容关于 ByteBuf 分配介绍&#xff0c;为了更好的理解本文&#xff0c;我们可以带着几个问题思考 在IO密集型业务场景下&#xff0c;可能涉及大量ByteBuf分配&#xff0c;这时我们需 要考虑会不会产生OOM会不会出现频繁GC会不会内存泄露 根据上…...

【数据结构】堆和二叉树(2)

文章目录 前言一、建堆和堆排序1.堆排序 二、二叉树链式结构的实现1.二叉树的遍历 三、链式二叉树的功能函数1.二叉树结点个数2.二叉树叶子结点个数3.二叉树的高度4.二叉树第k层结点个数5. 二叉树查找值为x的结点6.二叉树销毁 总结 前言 接着上一篇博客&#xff0c;我们继续分…...

Oracle分区技术特性

Oracle 的分区是一种“分而治之”的技术&#xff0c;通过将大表、索引分成可以独立管理的、小的 Segment&#xff0c;从而避免了对每个对象作为一个大的、单独的 Segment 进行管理&#xff0c;为海量数据访问提供了可伸缩的性能。自从 Oracle 引入分区技术以来&#xff0c;Orac…...

Hive操作库、操作表及数据仓库的简单介绍

数据仓库和数据库 数据库和数仓区别 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别 操作型处理(数据库)&#xff0c;叫联机事务处理OLTP&#xff08;On-Line Transaction Processing&#xff09;&#xff0c;也可以称面向用户交易的处理系统&#xff0c;它是针对具体业务…...

智能网联汽车:人工智能与汽车行业的深度融合

内容概要 在这个快速发展的时代&#xff0c;智能网联汽车已经不再是科幻电影的专利&#xff0c;它正在悄然走进我们的日常生活。如今&#xff0c;人工智能&#xff08;AI&#xff09;技术与汽车行业的结合犹如一场科技盛宴&#xff0c;让我们看到了未来出行的新方向。通过自动…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...