云原生网关的可观测性体系实践

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
应用实时监控服务-应用监控,每月50GB免费额度
简介: 云原生网关是阿里云微服务引擎(MSE)下的一款托管类型网关产品,其将传统的流量网关与微服务网关进行了整合,本文将讲述如何基于云原生网关去搭建网关场景的可观测性体系。

作者:井轶


概述


可观测性一词来源于控制理论,是指系统可以由其外部输出推断其其内部状态的程度,随着 IT 行业几十年的发展,IT 系统的监控、告警、问题排查等领域的逐渐成熟,IT 行业也将其抽象形成了一整套可观测性工程体系。目前可观测性已不仅仅是一种具体的工具或者技术,它更偏向是一种理念,已成为复杂分布式系统成功管理的关键组成部分,并对系统在运行时提供对其理解、探查以及调度的能力。


云原生网关是阿里云微服务引擎(MSE)下的一款托管类型网关产品,其将传统的流量网关与微服务网关进行了整合,本文将讲述如何基于云原生网关去搭建网关场景的可观测性体系。

网关场景可观测性建设的难点


网关作为业务流量的入口,其可观测性建设与整体业务的稳定性息息相关,同时由于网关的用户使用场景与功能较多,且网络环境也较为复杂,这对网关可观测性建设也带来了很多的难点。下面就针对其中的主要难点分别加以说明。

关注网关可观测性的角色众多


可观测性的核心在于 通过观测数据、满足不同角色、对于系统状态的理解需求,网关作为流量入口,业务,研发,SRE 等角色都会关注网关的状态,需要在深入理解不同角色需求的前提下才能够完善网关的可观测性体系。如下图,简单描述了整体可观测数据简单的生命周期,观测数据通过 App 生成,经过中间处理环节后进行存储,然后提供查询服务。观测数据服务于不同类型的人群,如产品的用户、业务、研发、SRE,不同的人群通过不同的形态来使用这些数据。


1.png

可观测性的基本生命周期


埋点不够精确,统计消耗大


点位不够准。埋点不难,难的是如何判断哪些数据是符合使用场景的。这就需要设计者有丰富的从业经验,或者在上线的过程中,不断迭代打磨。


统计采集代价高。可观测性的实现,很多时候往往是时间、空间、颗粒度三者之间的权衡。统计的时间粒度太密会造成存储容量的膨胀,统计的时间粒度太粗则不利于定位问题。这都为可观测性的实现带来了难题。    


网络环境复杂,  问题排查难度大


在流量网关场景下,由于公网网络环境复杂,网关流量巨大,偶发问题排查难度巨大。


云原生网关可观测性实践


当前业界在可观测性能力建设方面通用的三大支柱:日志事件(Logging),分布式链路追踪(Tracing)以及指标监控(Metrics)。


2.png

  • 指标(Metrics),是一段时间内记录的各个维度的量化信息,用来观察系统的某些状态和趋势 
  • 日志(Logs),是对程序运行过程中产生的一些离散事件的记录 
  • 链路追踪(Traces),是对一次请求从接收到处理完毕整个生命周期内的调用链路的记录 


云原生网关基于此三大支柱建设了云原生网关基础的可观测性能力。


确定网关核心指标,构建可观测性基础


核心指标即能准确描述系统内部运行状况的指标,在云原生网关场景,核心指标即为 qps,rt,成功率等能够准确描述网关此时运行状况的指标。云原生网关同时集成了 prometheus 与 sls,用户既可以通过网关的访问日志的 etl 处理获取更加精细准确的数据,也可以通过 prometheus 获取网关的实时监控。


3.png

基于访问日志进行 etl 处理后的仪表盘


针对统计采集消耗大的问题,云原生网关将部分采集消耗大的指标使用 etl 处理访问日志来减少采集消耗,将更需要实时性的统计指标采用程序内埋点的方式来保证实时性。


4.png

云原生网关的 Grafana大盘


针对不同角色对网关可观测性的不同需求,云原生网关提供了不同维度的数据表现,对于需要进一步精细分析的企业用户,也可以通过 sls 进一步进行数据加工。


划分系统边界,快速定位问题


网关通常请求量庞大,同时在微服务场景下,调用链路错综复杂,在这样的条件下想确认某一条请求的失败原因是一件困难的事情,针对这一场景,云原生网关对接了开箱即用的 ARMS 分布式链路追踪服务,同时也支持将 trace 数据投递到用户自建的 skywalking,避免云产品锁定。


5.png


对于未接入链路追踪的用户,云原生网关提供日志明细的详细解释,将请求失败的原因可视化为具体的图表,帮助用户确认问题边界,减少问题排查时的时间。


6.png

失败请求错误原因明细


风险管理定时巡查风险


云原生网关综合用户实例,规格,性能等数据,会给出目前实例存在的风险,并给出改善建议,极大程度上提高了允原生网关实例维护的自动化程度,降低客户使用成本。


7.png

风险管理的自动风险筛查


对云原生网关可观测性的未来规划


目前云原生网关构建了基本的可观测性体系,数可视化、监控等能力已经都相对完善。


用户可以基于目前的可观测体系来快速发现,定位问题。


8.png

配合业界的发展方向,接下来云原生网关在可观测领域主要有如下规划:


  • 就可观测性的三大数据支柱来说,为了解决部署上的跨平台方案冗杂以及数据不互通问题,Metrics、Logs、Traces 大一统的可观测性采集框架发展是大势所趋,支持 opentelemetry 等统一的可观测性框架是接下来的首要工作 


  • 在根因分析方面我们也在关注行业最先进算法的动态,持续的探索进行智能根因分析的实践。


9.png

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
7天前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
4天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
7天前
|
Kubernetes Cloud Native API
云原生入门:从理论到实践的探索之旅
本文旨在为初学者提供一个关于云原生技术的全面介绍,包括其定义、核心原则、关键技术组件以及如何将这些概念应用于实际项目中。我们将通过一个简易的代码示例,展示如何在云原生环境下部署一个简单的应用,从而帮助读者更好地理解云原生技术的实践意义和应用价值。
|
3天前
|
Cloud Native API 微服务
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态。
|
9天前
|
运维 Cloud Native 开发者
云原生技术入门与实践
在云计算的浪潮中,云原生技术以其独特的优势和魅力吸引了越来越多的开发者和企业。本文将从云原生技术的基本概念、核心组件以及实际应用三个方面进行详细介绍,帮助读者更好地理解和掌握这一新兴技术。同时,文章还将分享一些实际案例和经验教训,让读者能够更深入地了解云原生技术的应用场景和发展趋势。
26 5
|
16天前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
18天前
|
Cloud Native 安全 Docker
云原生技术在现代应用部署中的实践与思考
本文深入探讨了云原生技术如何在现代应用部署中发挥关键作用,并提供了具体的代码示例来展示其实现。通过分析云原生的核心概念和优势,我们将了解如何利用这些技术来提高应用的可扩展性、可靠性和安全性。文章还将讨论云原生技术的未来发展趋势,以及如何将其应用于实际项目中,以实现更高效和灵活的应用部署。
|
7天前
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
17 0
|
14天前
|
Cloud Native 持续交付 云计算
云计算的转型之路:探索云原生架构的崛起与实践####
随着企业数字化转型加速,云原生架构以其高效性、灵活性和可扩展性成为现代IT基础设施的核心。本文深入探讨了云原生技术的关键要素,包括容器化、微服务、持续集成/持续部署(CI/CD)及无服务器架构等,并通过案例分析展示了这些技术如何助力企业实现敏捷开发、快速迭代和资源优化。通过剖析典型企业的转型经历,揭示云原生架构在应对市场变化、提升业务竞争力方面的巨大潜力。 ####
21 0
|
9天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。