面对全球化的泼天流量,出海企业如何观测多地域网络质量?

作者:俞嵩、白玙

泼天富贵背后,技术挑战接踵而至

随着全球化进程,出海、全球化成为很多 Toc 产品的必经之路,保障不同地域、不同网络环境的一致的用户体验成为全球化应用的不得不面对的问题。在跨运营商、跨地域的网络环境中,异构网络的互联互通、跨运营商协同,让技术团队不得不面对以下挑战,包括但不限于以下几个方面:

  • 网络延迟与稳定性问题: 不同地区、不同运营商之间的网络连接可能存在较大的延迟,这直接影响到用户体验。跨国或跨地区的网络连接稳定性较差,容易出现丢包、断线等问题。
  • 带宽成本控制: 为了保证服务质量,可能需要租用专用线路或者使用更高级别的云服务来减少延迟和提高稳定性,但这会大大增加运营成本。如何在保证服务质量的同时有效控制成本是一个难题。
  • 技术支持和服务响应速度: 面对遍布世界各地的运营商,在协调快速有效的技术支持方面存在较大难度。语言障碍、时差等因素都可能导致沟通效率低下。
  • 内容分发优化: 为了解决上述提到的一些问题(如延迟),很多企业会选择使用 CDN(内容分发网络)服务将静态资源缓存至离用户最近的位置。但是如何合理规划节点分布、平衡负载以及实现智能调度也是一个复杂的技术问题。

总之,想要构建与维护一个能够良好运行的跨运营商、跨地域环境下的网络体系,技术团队需要综合考量以上各个方面,并采取适当措施克服这些挑战。与此同时,设置一个合理的网络质量观测指标体系提前发现与定位网络环境中的问题。

网络监控场景设计

为了解决以上挑战,通常我们设计以下几个网络质量观测场景,满足网络质量监控与分析需求:

  • Ping 探测: 监控网络连通性和延迟,确保网络路径的畅通。
    • 连通性:检查目标地址的连通性,确保网络路径畅通。
    • 延迟:监控网络延迟,确保网络传输速度符合预期。

适用场景:

  • 网络连通性监控:确保网络路径的畅通。

  • 延迟监控:监控网络延迟,优化网络性能。

  • HTTP(S)探测: 监控网站的可用性和性能,确保网站能够正常访问和响应。

    • 响应时间:监控网站的响应时间,确保网站加载速度符合预期。
    • 可用性:检查网站的可用性,确保网站能够正常访问。
    • 内容验证:可以验证返回的内容是否符合预期,如检查特定关键词或状态码。
    • 多种方法:支持 GET、POST、HEAD 等多种 HTTP 请求方法。

适用场景:

  • 网站性能监控:监控网站的加载速度和响应时间。

  • 内容验证:确保网站返回的内容正确无误。

  • 故障检测:及时发现和处理网站故障。

  • DNS 探测: 监控域名解析可用性和性能,确保 DNS 解析正常,及时发现 DNS 劫持、DNS 污染等问题。

    • 解析时延:监控域名在全球不同地域运营商的解析时延。
    • 可用性:检查域名解析的可用性,确保解析请求能够成功返回正确的IP地址。
    • 覆盖范围:利用全球 200+ 监控节点,支持中国主流运营商、省份和地区。
    • 数据实时:实时了解 DNS 运行状况,缩短问题解决周期,减少服务停机时间。

适用场景:

  • DNS 劫持检测:及时发现和处理 DNS 劫持问题。

  • DNS 污染检测:确保 DNS 解析结果的准确性。

  • 解析性能优化:优化 DNS 解析速度,提升用户体验。

  • TCP 探测: 监控 TCP 端口的可用性和性能,确保服务能够正常响应 TCP 连接请求。

    • 端口可用性:检查指定端口的可用性,确保服务能够正常响应 TCP 连接。
    • 响应时间:监控 TCP 连接的响应时间,确保服务响应速度符合预期。
    • 健康检查:通过 TCP 连接检查服务的健康状态,及时发现和处理服务故障。

适用场景:

  • 服务可用性监控:监控数据库、邮件服务器等服务的可用性。
  • 性能监控:监控服务的响应时间,确保服务性能符合预期。
  • 故障检测:及时发现和处理服务故障。

核心关注指标

在跨运营商、跨地域的网络环境中,技术团队可以关注以下关键指标,从而快速构建告警体系,及时发现网络问题:

  • 延迟(Latency):数据包从源头到达目的地所需的时间。跨地域的网络延迟可能较高,因此需要监测延迟时间,以确保用户体验良好。
  • 丢包率(Packet Loss):在传输过程中丢失的数据包的比例。高丢包率可能会导致应用性能下降,特别是对于实时通信和视频流应用。
  • 带宽(Bandwidth):网络在给定时间内可以传输的数据量。了解各个链路的带宽限制,有助于进行网络规划和资源分配。
  • 带宽利用率(Bandwidth Utilization):实际使用的带宽和可用带宽的比率。高利用率可能意味着网络瓶颈,需考虑扩展带宽或优化流量。
  • 网络抖动(Jitter):抖动是指数据包传输延迟的波动,尤其影响实时应用(如语音和视频会议)的质量。监测和降低抖动是优化网络体验的关键。
  • 连接稳定性(Connection Stability):包括连接的建立时间、保持时间以及重连次数等,确保用户在使用应用时连接稳定。
  • 服务器响应时间(Server Response Time):从用户发出请求到服务器作出响应所需的时间。影响用户体验,应定期监测并优化。
  • 网络安全事件(Security Incidents):监测潜在的网络攻击(如 DDoS)、数据泄露或其他安全事件,以确保整体网络安全。
  • 用户访问质量(Quality of Experience, QoE):用户对于使用服务的整体满意度,包括网页加载时间、应用响应速度等。
  • 运营商性能比较:监测不同运营商的性能差异,包括延迟、带宽、可靠性等,以帮助选择最佳的服务提供商。

通过关注这些指标,技术团队能更好地掌握网络环境的健康状态,及时发现并解决潜在问题,从而提升用户体验和业务运营效率。那么,我们如何快速构建跨运营商、跨地域的网络质量监控体系呢?

如何五分钟构建全球网络质量观测体系

阿里云可观测团队提供的云监控产品,为出海企业提供「网络分析与监控」能力,帮助企业快速构建全球网络服务监控体系,从而确保服务的 SLA 并持续优化性能。网络分析与监控利用拨测(Sythetic Monitoring)解决运维团队在网络性能和用户体验监控场景的核心需求。借助全球覆盖的网络探测节点,模拟用户请求对目标服务/域名/IP 等进行主动网络拨测,监控目标地址在不同地域、运营商网络环境下访问的可用性、性能和用户体验。使用拨测功能,不仅能加速故障发现与定位过程,还能帮助企业优化网络资源配置和访问链路,从而提升整体业务效率及用户体验。接下来,我们以 https://observability.cn/ 举例,详细指导如何配置拨测任务。

(一)示例背景

可观测中文社区 https://observability.cn/ ,作为一个以“运维可观测”为核心的开放、包容、分享的技术社区。因为网站访问用户来自中国、新加坡、美国等不同国家、不同地域,因此网站运维团队,在日常维护过程中非常关注几个核心问题:

  • 服务器宕机:服务器无法响应请求,导致网站无法访问,影响用户体验。
  • 网络延迟:网络响应时间过长,导致页面加载缓慢,用户流失。
  • DNS 解析问题:DNS 配置错误或更新延迟,导致用户无法找到网站。
  • 依赖服务异常:网站依赖的第三方服务(如 API、数据库等)出现故障,影响网站的正常功能。
  • SSL 证书问题:SSL 证书过期或配置错误,导致安全警告,影响用户信任度。

但由于人力投入限制,无法直接对网络日志进行体系化的监控与分析。为了能够更高效地构建网络质量监控,因此使用网络监控与分析能力。

(二)实践流程

1)配置基础探测参数

登录云监控控制台,选择网络分析与监控的站点监控。在监控任务页签,单击创建任务。由于运维团队希望监控网站的可用性和性能,确保网站能够正常访问和响应。因此,我们在这里选择 PC 端的探测点,同时使用 HTTP(S) 的任务类型。在配置监测地址的同时,可以选择不同的 HTTP 请求方法,包括 GET、HEAD 和 POST。

HEAD 方法用于请求资源的头部信息,而不返回资源本身的内容。这意味着服务器会响应请求,但不会发送实际的数据体,只发送 HTTP 头部信息。POST 方法用于向指定资源提交数据,请求服务器进行处理(如提交表单或上传文件)。服务器处理完请求后会返回一个响应。GET 方法用于请求指定的资源,通常用于获取信息。请求参数附在 URL 中,作为查询字符串的一部分。

我们可以根据实际监控需求选择合适的 HTTP 请求方法。如果只需要检查资源的存在性和状态,建议使用 HEAD 方法;如果需要提交数据并获取响应,应使用 POST 方法。

2)选择所需的地域探测节点

结合自身业务以及目标用户所在区域选择不同的探测点,前文提到观测中文社区 https://observability.cn/  的网站访问用户主要来自来自中国、新加坡、美国。因此,探测节点我们可以选择相应国家以及相关地域的探测点。

在探测点的使用过程中,我们会遇到一个问题,就是如何选择 IDC 探测点与 Last mile 探测点。IDC 探测点主要是部署在互联网数据中心的监控节点,这些探测点通常位于高速、高可用的数据中心网络环境中,能够帮助企业检测网络链路的性能和稳定性,适用于监控企业和数据中心之间的网络链路状况,以及对网络性能有较高要求的业务场景。Last Mile 探测点是部署在接近终端用户的网络环境中的监控节点这些监测点可以更好地模拟实际用户在访问业务时的网络体验,反映出用户在不同地理位置、网络环境和运营商网络下的实际访问情况。适用于监控终端用户的网络体验,帮助企业优化网络服务,提高用户满意度。我们可以根据实际监控需求选择探测点类型。

3)配置告警事件

网络监控与分析的核心关键,就是先于用户发现问题,因此配置告警至关重要。我们可以选择几个核心指标,比如可用探测点百分比、不可用探测点数量、错误码、响应时间,来配置告警。并根据自身业务特征来设定相关阈值。比如连续三个周期,可用探测点比例小于 90%,就进行电话+短信+邮件+WebHook 告警。

此外,除了自身的告警机制,我们还可以将告警事件与其他云产品进行组合使用。比如:我们可以配置相关的弹性伸缩规则,当报警发生时,会触发提前配置好的弹性伸缩的地域、弹性伸缩组和弹性伸缩规则。配置相应的日志服务,当报警发生时,会将报警信息发送至日志服务的日志库。甚至配置函数计算,当报警发生时,会将报警通知发送至函数计算进行格式处理。帮助我们更高效、更智能化的记录、处理告警以及进行相应运维动作。

4)查看监控大盘

在任务启动后,我们就可以等待探测点返回的数据。网络监控与分析提供了默认大盘供开发者使用,可以从如地域、运营商等不同维度,更直观、高效的观看相关指标的趋势。比如全球可用性和响应延时大盘、全球地域探测大盘。

全球可用性和响应延时大盘分析:

全球地域探测分析:

5)详情分析

在查看大盘或者收到告警时,我们可能会发现某单次探测结果报错或者存在问题,我们可以通过详情分析进行进一步了解,更高效的知晓业务问题在哪里。

总结

可以看到在跨运营商、跨地域的网络质量监测场景,网络监控与分析具有重要的价值。通过分布式的监测节点,从不同的网络运营商和地域对网络性能进行实时检测,确保用户在不同环境下的访问体验。通过模拟用户在不同地域和运营商下的真实访问情况,获得更准确的网络性能数据,快速识别和定位网络问题,减少因网络故障导致的业务损失。进而调整策略以提升服务质量。我们可以用于以下场景:

  • 服务可用监控: 从世界各地不同城市运营商定期检查网站是否可访问,以便于提前预警可能影响业务可用性的风险。
  • 域名解析监控: 确保重要域名能够被正确解析,防止因 DNS 配置错误和运营商 DNS 劫持导致的服务中断现象发生。
  • 网络质量监控: 测量各地区各运营商到服务之间的网络状况,帮助决策者制定有效的链路优化和网络产品部署决策,如 CDN 测速,运营商性能分析,网络架构优化等。
  • 竞品分析: 对比同类竞品网站的页面访问性能和体验,提升服务在同类行业中的访问体验。
  • 页面性能监控: 使用真实浏览器访问站点页面,加载页面全资源和元素,即使发现页面性能体验问题,帮助企业优化终端用户访问体验。
  • 内网服务巡检: 对云内实例资源连通性和内部服务进行高频巡检,及时发现内网可用性问题,及时止损避免故障扩散。

网络监控与分析在保证网络可靠性、优化用户体验和提升运营效率方面发挥着不可或缺的作用,对于出海企业应对复杂的网络环境和满足用户需求具有重要意义,为出海企业顺利承接泼天流量保驾护航。

点击此处立即了解完整解决方案,五分钟快速构建全球网络服务性能观测体系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/69172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django框架的全面指南:从入门到高级

Django框架的全面指南:从入门到高级 目录 引言Django简介安装与配置创建第一个Django项目Django的MVT架构模型(Model)视图(View)模板(Template)URL路由表单处理用户认证与权限Django Admin高级…

VMware下Linux和macOS遇到的一些问题总结

1.解决.NET程序通过网盘传到Linux和macOS不能运行的问题 这是文件权限的问题。当你通过U盘将文件传输到虚拟机的macOS和Linux系统时,文件的权限和所有权可能得到了保留或正确设置。但如果你通过网盘上传,文件的权限或所有权可能没有正确设置&#xff0c…

Java程序员 面试如何介绍项目经验?

项目经历是面试过程中重点问的,但是很多人在回答的时候往往会有问题: 重点是介绍项目,而忽略了个人的经历。 经历是你做了什么、你怎么做的、做完后的结果。例如:项目中的哪些部分是你做的?你是不是核心人员&#xf…

浏览器是否能自动将过多并发请求分段处理?

看了管理浏览器是否能自动处理过多并发请求的文章,看到大家争论不休我在这里想发表一下自己的看法 首先我们应该明确我们为什么要去处理并发请求,怕服务器崩溃?在实际使用场景下如果用户通过不停的点击发送请求就能让服务器崩溃,…

【springboot】拦截器和过滤器的区别

【springboot】拦截器和过滤器的区别 【一】区别【二】适用场景【1】过滤器【2】拦截器 【三】使用案例【1】过滤器使用案例【2】拦截器使用案例 在 Spring Boot 中,拦截器(Interceptor)和过滤器(Filter)都是用于对请求…

蓝桥杯备考:模拟算法之字符串展开

P1098 [NOIP 2007 提高组] 字符串的展开 - 洛谷 | 计算机科学教育新生态 #include <iostream> #include <cctype> #include <algorithm> using namespace std; int p1,p2,p3; string s,ret; void add(char left,char right) {string tmp;for(char ch left1;…

FPGA学习篇——Verilog学习1

1 数电基础知识&#xff08;后续可能还会继续补充&#xff09; 1.1 逻辑电平 这张图比较重要以及陌生的应该是高阻态Z&#xff0c;他是一个未知值&#xff0c;不一定为高也不一定为低电平&#xff0c;X是只能高电平和低电平中二选一。 1.2 进制 进制有常见的二进制&#xff0…

虚幻基础17:动画蓝图

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 animation blueprint图表&#xff08;Graph&#xff09;&#xff1a; 编辑动画逻辑。变量&#xff08;Variables&#xff09;&#xff1a; 管理动画参数。函数&#xff08;Functions&#xff09;&#xff1a; 自定义…

java中的锁面试题

1、多线程中 synchronized 锁升级的原理是什么&#xff1f; synchronized 是JVM层面的锁&#xff0c;是 Java 关键字&#xff0c;通过 monitor 对象来完成&#xff0c;synchronized 的实现涉及到锁的升级&#xff0c;具体为无锁、偏向锁、自旋锁、重量级锁 synchronized 锁升级…

C++的 I/O 流

本文把复杂的基类和派生类的作用和关系捋出来&#xff0c;具体的接口请参考相关文档 C的 I/O 流相关的类&#xff0c;继承关系如下图所示 https://zh.cppreference.com/w/cpp/io I / O 的概念&#xff1a;内存和外设进行数据交互称为 I / O &#xff0c;例如&#xff1a;把数…

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(一)

目录 1 -> List 1.1 -> 创建List组件 1.2 -> 添加滚动条 1.3 -> 添加侧边索引栏 1.4 -> 实现列表折叠和展开 1.5 -> 场景示例 2 -> dialog 2.1 -> 创建Dialog组件 2.2 -> 设置弹窗响应 2.3 -> 场景示例 3 -> form 3.1 -> 创建…

《Python预训练视觉和大语言模型》:从DeepSeek到大模型实战的全栈指南

就是当代AI工程师的日常&#xff1a;* - 砸钱买算力&#xff0c;却卡在分布式训练的“隐形坑”里&#xff1b; - 跟着论文复现模型&#xff0c;结果连1/10的性能都达不到&#xff1b; - 好不容易上线应用&#xff0c;却因伦理问题被用户投诉…… 当所有人都在教你怎么调用…

Ollama教程:轻松上手本地大语言模型部署

Ollama教程&#xff1a;轻松上手本地大语言模型部署 在大语言模型&#xff08;LLM&#xff09;飞速发展的今天&#xff0c;越来越多的开发者希望能够在本地部署和使用这些模型&#xff0c;以便更好地控制数据隐私和计算资源。Ollama作为一个开源工具&#xff0c;旨在简化大语言…

【Elasticsearch】date range聚合

好的&#xff0c;继续之前的示例&#xff1a; json ] } } } } 4.3 自定义键&#xff08;key&#xff09; 通过为每个范围指定一个唯一的键&#xff08;key&#xff09;&#xff0c;可以在结果中更方便地引用每个范围。这在使用keyed参数将结果以键值对形式返回时尤其有用。 j…

ElasticSearch 学习课程入门(二)

引子 前文已经介绍了ES的增删改查基本操作&#xff0c;接下来&#xff0c;我们学习下高级点的用法。OK&#xff0c;那就让我们开始吧。 一、ES高级操作 1、条件查询 &#xff08;1&#xff09;GET https://127.0.0.1:9200/shopping/_search?qcategory:小米 &#xff08;2&…

中国通信企业协会 通信网络安全服务能力评定 风险评估二级要求准则

通信网络安全服务能力评定要求是对通信网络安全服务单位的资格状况、经济实力、技术能力、服务队伍、服务过程能力等方面的具体衡量和评价。中国通信企业协会通信网络安全服务能力评定风险评估二级应达到风险评估服务一级能力要求的所有条款&#xff0c;并在以下方面增强或增加…

php反序列化含CTF实战

php反序列化 声明&#xff1a;本人只是在学习反序列化 因此这篇文章大量参考了https://blog.csdn.net/Hardworking666/article/details/122373938 这位的博客 感谢他的详细文章让我可以详细学习反序列化 大家想看更详细的可以直接参考他的文章!!! 什么是序列化和反序列化 序…

6.PPT:魏女士-高新技术企业政策【19】

目录 NO1234​ NO567 ​ NO1234 创建“PPT.pptx”考生文件夹Word素材文档&#xff1a;选中对应颜色的文字→选中对应的样式单击右键按下匹配对应文字&#xff1a;应用所有对应颜色的文字开始→创建新的幻灯片→从大纲&#xff1a;考生文件夹&#xff1a;Word素材重置 开始→版…

【Linux系统】信号:信号保存 / 信号处理、内核态 / 用户态、操作系统运行原理(中断)

理解Linux系统内进程信号的整个流程可分为&#xff1a; 信号产生 信号保存 信号处理 上篇文章重点讲解了 信号的产生&#xff0c;本文会讲解信号的保存和信号处理相关的概念和操作&#xff1a; 两种信号默认处理 1、信号处理之忽略 ::signal(2, SIG_IGN); // ignore: 忽略#…

学习日记250205

一.论文 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 二、计划&#xff1a; 理一下微调相关的文章 三. &#xff09;——&#xff08; 明天认真学习了&#xff0c;不能再打这么久的星露谷了&#xff01;&#xff01;&#xff0…