云原生 API 网关链路追踪能力重磅上线
云原生API网关介绍
云原生 API 网关是腾讯云基于开源网关推出的一款高性能高可用的云原生 API 网关产品,作为云上流量入口,集成请求分发、API 管理、流量监控、访问限制等功能,是微服务架构和容器架构中的重要组件。
TSE 云原生 API 网关提供多可用区容灾部署、多种接入方式统一管理能力、开箱即用的限流熔断、流量灰度、流量镜像、安全防护等能力。对于存在流量波峰波谷性质的业务,TSE 云原生 API 网关同样支持弹性伸缩和定时伸缩实现对网关节点的伸缩。
云原生API网关优势
● 超强性能:通过云原生 API 网关可以轻松应对百万并发
● 无限的可扩展性:依托开源生态,具有丰富的社区插件,同时支持自定义插件
● 集中且简单的管理:在一个控制台上就能管理服务、路由、安全等配置
● 丰富的流量管理和监控:提供开箱即用的限流、熔断、灰度、流量镜像等流量管理和监控能力
● 原生支持容器和微服务生态:100% Kubernetes原生架构和接口让您充分利用Kubernetes强大能力,支持对接多种注册中心,轻松访问管理您的微服务
● 全链路高可用:网关入口、网关节点,全链路支持多可用区部署,保证高可用
客户在链路追踪场景中遇到的疑问和挑战
随着微服务架构的普及,一个完整的业务逻辑调用请求的背后可能牵涉后端几个、几十个甚至上百个服务接口,后台服务形成一种复杂的分布式网络。在该场景下,如何在请求发生异常时快速定位问题所在就成为了分布式场景下排障的关键。
在现有的链路追踪能力中,缺少网关到应用服务调用链路的统一的视角,以及全局的唯一标识。网关侧无法看到请求入口经过后端服务的调用路径,调用处理的时间点信息。应用也缺少网关视角,导致全链路不够完整。
全新上线的网关链路追踪介绍&优势
TSE 云原生 API 网关推出链路追踪功能,使用者可以通过具体的服务、状态码、响应耗时等查询具体的调用过程,包括调用过程所需要的时间和运行情况。根据这些信息分析在分布式链路调用过程中每个环节的耗时和异常,如:
● 定位耗时较长的服务。
● 不合理的调用逻辑(如一次请求多次调用某服务,建议改为批量调用接口)。
● 从服务应用角度可以清晰知晓网关侧耗时与运行情况,让网关这一跳的详情清晰可见
● APM提供了列表与树状图展示trace数据,作为分布式追踪的典型视图,这些视图允许用户从不同角度查看追踪数据,特别是 Span 间的耗时关系。
● 拓扑图支持点击展现和下钻单个服务的性能统计、Tracing、告警,也可以点击拓扑图中的关系线,展示服务之间、服务示例间的性能 Metrics
操作指引
开启链路追踪
1. 登录TSE控制台。
2. 在左侧导航栏单击云原生 API 网关 > 可观测性,在页面上方选择好网关实例。
3. 单击 链接追踪 页签,在页面中间单击立即开启,开启链路追踪。
● 协议:支持 OpenTelemetry (推荐)、SkyWalking、Zipkin、aeger 四种协议。网关默认使用收到请求时客户端指定的链路追踪协议,如客户端未指定,将使用控制台指定的协议。
● API 业务系统:勾选后网关将使用该 APM 业务系统进行链路上报。
● 采样率:取值范围 0-100,0 为不采集,100 为每个请求都采集,默认为 10,采样率配置过高可能会影响性能。
说明:
● 如需展示完整调用链路,请确保网关下游服务使用相同的 APM 业务系统进行上报。应用上报方式请参考 腾讯云可观测平台 通过 OpenTelemetry 增强探针上报-应用性能监控-文档中心-腾讯云。
● 链路追踪由 登录 - 腾讯云 提供,具体计费项查看 腾讯云可观测平台 计费概述-购买指南-文档中心-腾讯云。
查询调用链详情
开启链路追踪后,在链路追踪页面,可以查看网关实例的调用链及详情。
1. 在调用链查询中,设置好查询条件,单击查询。
● 时间范围:支持特定和自定义时间范围选择。特定时间范围包括:近5分钟、近15分钟、近30分钟、近1小时、近3小时、近12小时和近1天。
● 响应时间:设置响应时间范围。
● Trace ID(可选):Trace ID。
● 服务:单击下拉框,在下拉框中选择要查询的服务,可以输入关键字进行搜索。
● 状态码(可选):状态码。
● 健康情况(可选):
○ 正常:根据响应时间和错误率评估,该调用正常。
○ 慢调用:该调用耗时执行超过2000ms。
○ 异常:该调用返回非 200 HTTP 状态码。
● 业务标签:网关用于链路追踪的标签。
2. 点击调用链的“ID”或者操作列的查看详情,可查看调用链的详细信息,包含调用信息详情和各阶段耗时。
查看依赖拓扑图
开启链路追踪后,在服务基本信息页面,可以查看服务依赖拓扑图,根据服务拓扑图,您可以直观的了解服务的上下游组件与它们的调用关系,从而更快速地找出应用的瓶颈。
1. 在左侧导航栏选择路由管理,在页面上方选择好网关实例后,单击服务页签。
2. 单击要查看的服务名称,进入服务详情页面,在依赖拓扑模块,设置好时间范围后可以查看服务调用信息。
APM 及其它场景介绍
腾讯云可观测平台(TCOP)包含了云拨测(CAT),云压测(PTS)、前端/终端性能监控 (RUM)、应用性能监控(APM)、Prometheus & Grafana服务、以及云产品基础监控等多个子产品。其中,应用性能监控(APM)的全链路追踪能力,是基于 OpenTelemetry 的标准之上构建的,全面兼容开源标准,支持 OpenTelemetry、Jaeger、Skywalking、Zipkin 等多种Trace 协议上报,并且支持 Java、Python、PHP、Node.js 等多种语言的接入。
APM 的主要应用场景包括:
● 性能监控:实时监控应用程序的性能指标,如响应时间、吞吐量、错误率等,帮助发现性能瓶颈。
● 故障定位:通过链路追踪和异常检测,快速定位故障原因,提高故障处理效率。
● 资源优化:通过对应用程序的资源使用情况进行分析,帮助优化资源分配,提高系统性能。
● 业务洞察:通过分析用户行为和业务数据,为业务决策提供数据支持。
● 持续优化:通过持续监控和分析应用程序性能,为系统优化和架构调整提供依据。
结合 TSE 云原生 API 网关的链路追踪功能和 APM 系统,可以实现全链路性能管理,帮助企业提高应用程序的稳定性、可用性和响应速度,降低运维成本。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Ray on ACK 实践探索之旅 - RayCluster 篇
作者:张杰、霍智鑫、行疾 什么是 Ray? Ray 是一个开源框架,专为构建可扩展的分布式应用程序而设计,旨在通过提供简单直观的 API,简化分布式计算的复杂性,让开发者能够便捷高效地编写并行和分布式 Python 应用程序。 Ray 的统一计算框架由三层组成: Ray AI libraries 一个开源、Python 语言的特定领域库集,为 ML 工程师、数据科学家和研究人员提供了一个可扩展且统一的 ML 应用程序工具包。 Ray Core 一个开源的 Python 通用分布式计算库,使机器学习工程师和 Python 开发人员能够扩展 Python 应用程序并加速机器学习工作负载。 Ray Cluster Ray 集群由一个 Head 节点(负责协调和管理整个 Ray 集群,以及运行 Ray 的一些关键的全局服务)和若干个 Worker 节点(实际执行计算任务的节点,可以自动伸缩以适应工作负载的资源需求变化)组成,Worker 节点连接到 Head 节点。Ray 集群可以部署在物理机、虚拟机、Kubernetes 以及各种云环境之上。 图源:https://docs.ray.io/e...
- 下一篇
RustRover 中最常见的 Rust 编译器错误(下)| 技术解析
在上期博客中,我们根据 RustRover 的使用数据深入分析了 10 大最常见 Rust 编译器错误中的后 5 个。在本部分中,我们将探讨最常发生的前 5 大错误,并对 Rust 编程语言中最容易使开发者与编译器产生“冲突”的方面进行一些更总体的观察。 常见错误 #5:E0433(使用了未声明的 crate、模块或类型) 这个错误类似于上一部分中谈到的 E0432(import 未解析)。唯一的区别是,具有问题组件的路径直接在名称中使用,不带 use 子句。17.5% 的 RustRover 用户遇到过这个错误。例如,在下面的代码中,编译器无法理解我们真正的意图(crate 还是模块)并报错: 这个示例展示了 Rust 编译器备受好评的错误消息传递。即使不阅读消息,修正也显而易见:验证名称,根据需要将所需的依赖项添加到Cargo.toml,或者引入适当的 import。 RustRover 也可以发挥作用, 让我们选择导入的名称。 编写代码时使用代码补全就可以完全避免这种错误。 常见错误 #4:E0425(使用了未解析的名称) 接下来是另一个“未解析”的错误。20.5% 的 Rust...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6