工商银行打造在线诊断平台的探索与实践

头图.png

作者 | 刘慕雨 中国工商银行软件开发中心云计算实验室

在信息系统建设方面,工商银行一直积极探索,以开放的姿态借鉴行业先进经验,旨在为客户提供更优质的金融服务和用户体验。随着分布式架构和云计算平台在工行的广泛应用,如何高效排查程序错误或性能瓶颈,是个棘手的问题。

为此,我们基于 Arthas 建设了在线诊断平台,在保护客户信息安全的原则基础上,对相关能力做了剪裁和整合,通过 Web 方式支持更复杂的交互场景,在实际线上问题分析中发挥关键作用。

工行在线诊断平台:

1.png

下面对工行在线诊断平台的建设做个阶段性总结,分享一下我们的建设经验、实际效果以及未来展望,也希望能给社区提供一个参考。

传统方式排查问题的痛点

对于后端工程师,一旦线上程序逻辑出错,问题排查如同破案,在分析研判时,问题现场的第一手信息是最珍贵的。开发人员很容易首先想到的就是阅读日志,从海量的日志中寻找蛛丝马迹,这就好比是对犯罪现场周边的视频监控录像逐一回看,非常辛苦。如果问题现场的日志记录缺失,就尝试在本地重现问题并调试解决,本地难以重现的,只能再加日志,再部署,再重现,然后再查日志,效率较低。对于复杂一些的比如程序性能问题,如何定位性能瓶颈,一不小心又要回到加日志、部署、查日志、再加日志的老路,不仅效率不高,也破坏了问题现场。

JDK 提供的工具如 jps、jmap、jstat、jstack、jconsole 等,可以为工程师提供一些帮助。Linux 操作系统的命令,如 top、free、pidstat、vmstat、iostat 等,也是排查问题尤其是性能调优必不可少的工具。但直接使用这些工具,对工程师的个人技术能力和经验要求较高。而且对企业来说,在生产环境直接通过命令行操作,是很敏感的行为。因此,如何在保证安全的基础上,又能像调试本地程序一样更便捷的排查分析,是个棘手的问题。

Arthas 的解决方案

2018 年我们在参加一次 Dubbo Meetup 上,听了关于使用开源的 Arthas 工具排查 Dubbo 问题的分享。研究发现,Arthas 通过 JVM 的 Attach 机制,在不影响服务连续性的情况下,实时连接到目标进程,便于工程师在线排查问题。此外,Arthas 的字节码增强框架,可以通过 Instrumentation 技术动态修改字节码(需要 Java 虚拟机实现支持 retransformClasses),替换成新的 class,这就为在线调试提供了可能。

Arthas 原理图:

2.png

比如,使用 watch 命令,实时观测方法的调用情况;使用 jad 命令,把字节码反编辑成 java 代码;使用 redefine 命令,可以对代码做热更新,让开发人员告别不停“加日志、部署、查日志、再加日志”的套娃时代。在 Arthas 刚推出没多久,还提供了一个简单的 Web Console 功能,实际是一个以 Websocket 访问 Arthas 进程的方式,这也为我们后面建设在线诊断平台提供了思路。

落地使用上的困难

直接使用 Arthas 的命令行交互方式,不能满足金融级运维要求,在落地使用上存在一些实际的问题:

  • 信息安全问题:Arthas 可以通过命令行方式,直接观测方法的入参、返回值,这就涉及到一些客户敏感信息,直接在生产环境使用命令行操作显然是不合适的。

  • 学习成本问题:工具的安装使用存在一定的学习成本,尤其是对于新员工来说。

  • 多人协作问题:当多个开发者对同一个目标进程进行诊断时,可能存在冲突,例如,一个同学正在 watch 某个方法,另一个同学把这个方法 redefine 了,那么第一个同学 watch 到的其实是别人替换后的代码的运行情况,这就像一个多线程访问共享资源的线程安全问题。再比如两个同学都在 attach 同一个进程,一个同学用完了,直接把 Arthas 进程 shutdown(关闭),而另一个还在使用的同学就突然不能用了。

  • 资源占用问题:如果开发者忘记关闭 Arthas,Arthas 进程会占用一定的系统资源(如内存、CPU)。当然,Arthas 本身对资源开销是有很多考虑的,比如 Arthas 使用自定义的类加载器加载自身的类,在关闭时将引用置空,这样在下一次垃圾回收的时候,自定义类加载器加载的类就会被回收,从而避免对原有工程的影响。因此,我们认为 Arthas 应该在排查问题时使用,而不应该当作常规监控工具一直运行。

  • 环境不统一问题:在不同的 Java 虚拟机实现安装和使用 Arthas,可能会碰到一些奇怪的问题,比如用 Hotspot 虚拟机运行 Arthas 进程,而目标虚拟机是 J9 实现,attach 的时候可能会出错。另一方面,生产环境云上、云下节点规模庞大,网络访问权限是严格控制的,开发人员想远程连接目标进程,涉及到权限开通、版本管理、安装程序下发等问题。

技术方案

我们设计了一套轻巧的架构,让开发人员以 Web UI 的方式,便捷、直观的使用各类在线诊断能力。那么我们是怎么做的呢?

1. 整体架构

整体架构大致分成在线诊断平台、在线诊断网关(后简称网关)、在线诊断进程三部分,通过一个网关集群统一代理对云上、云下节点的访问,网关提供 Restful 接口给在线诊断平台(后简称平台)调用。一个接口可能组合了多个 Arthas 指令,也可能对指令的执行结果进行剪裁和修改,处理成 json 格式数据返回给平台做展示。

整体架构图:

3.png

1)在线诊断平台

在线诊断平台是开发人员进行在线诊断的入口,平台通过 Web UI 的方式提供一站式在线诊断能力,支持复杂的交互场景。除了提供出色的用户体验,平台还解决了安装卸载、多人协作、用户鉴权、连接保持、操作审计等问题。

  • 安装卸载:根据用户在平台输入目标节点和进程信息,实现诊断程序的安装和卸载,具体将在下一节介绍。

  • 多人协作:当多个用户同时诊断同一个进程时,对于存在冲突的功能,平台通过分布式锁实现互斥,保障同一时刻只有一个用户能使用,当然这么做的前提是平台在功能设计时考虑原子性。另外,当一个用户试图关闭一个其他用户正在使用的连接时,也会被拒绝。

  • 用户鉴权:建立审批和黑白名单机制,基于 RBAC 模型,同时联动 CMDB,对操作人员的权限进行严格管控,普通开发者需要被授权才可使用,各类诊断功能的使用权限也和用户角色挂钩,权限控制强度从生产环境到开发环境逐渐减弱。

  • 连接保持:Arthas 一些命令比如 dashboard,提供了实时监控目标进程整体运行情况的功能,默认每 5 秒刷新一次。对于这样的功能,平台的前端通过 websocket 与后端保持连接,后端内存中维护了一个目标对象和已连接用户的对照关系,如果多个用户同时监控某个目标对象,后端每次只会定时发送一次请求给网关。这么做的好处,是在保证了实时监控的同时,节约连接资源,避免了多人访问时,到目标服务器的不必要的重复连接。此外,为了防止用户忘记卸载诊断进程,对照关系也会同步到配置中心,当内存中某个目标对象对应的用户全部下线时,会触发一次检查,如果发现配置中心中的用户也已经全部下线,平台会自动发送 shutdown 请求给网关,卸载诊断进程。

  • 操作审计:通过切面的方式,对用户的各类操作进行记录和存储,达到审计的目的。

2)在线诊断网关

网关的作用,一是统一打通了到行内云上、云下环境的火墙;二是由于我们当时使用的 Arthas 版本还不支持 Restful 接口(最新版本已支持),返回报文都是文本的形式,网关侧在这里会对文本进行解析,处理成 json 格式的结构数据,方便平台侧做展示。归纳起来,网关的主要目的是统一代理对目标节点的访问,同时封装诊断能力,提供标准 json 结构数据的 Restful 接口给行内各平台访问。网关在封装诊断能力时,还会进行参数校验、超时管理、数据脱敏、文本处理等工作。

  • 参数校验:网关需要对诊断命令的参数做合法性校验,比如tt命令要控制最大观测次数防止撑爆内存,保证使用安全。

  • 超时管理:一些监听类的命令,比如watch命令,如果一直监听不到调用,需要设置超时时间,防止连接一直不被释放。

  • 数据脱敏:对于涉及客户敏感信息的命令,网关会做数据脱敏,保障客户信息安全,部分关键业务的敏感数据,网关侧会做封闭禁止访问。

  • 文本处理:网关向 Arthas 进程发送指令后,收到的报文是文本形式,为了便于平台侧展示,网关将非结构数据处理成结构数据,并对文本中的一些非关键数据进行剪裁。这里要注意因为 telnet 有个窗口大小的配置要适当调整,配置太小的话有可能导致文本不全。

3)在线诊断进程

也就是 Arthas 进程,需要考虑安装、启停、版本管理、网络隔离等问题,具体做法在下一节详细介绍。

2. 诊断过程详解

工程师第一次对目标服务器进行诊断时,涉及安装、启动、使用、卸载等一系列步骤,如下图所示:

4.png

1)诊断前准备

下图是我们的安装界面,当用户授权通过后,即可填写目标服务器信息开始安装。如果是传统虚拟机时,用户需输入虚拟机 ip 和目标进程关键字(如进程的 pid、进程的启动类名、进程的 jar 名称等);如果是容器,还需提供容易 id:

5.png

2)开始安装

用户点击安装后,会触发一系列操作。首先在线诊断平台发送一个探活请求给网关,网关收到请求后相应的也发送一个空指令给目标节点。平台根据响应判断,如果探活成功,则发送诊断请求开始诊断;否则发送安装请求到行内指定的管理系统(传统虚拟机/容器,后续简称通道)。

3)获取安装介质

以传统虚拟机为例(如果是容器则把安装介质下发到宿主机),通道去目标服务器指定目录查找诊断程序的版本文件,如果获取成功且版本是最新的,则通道直接执行启动脚本。否则,通道会通知目标服务器从公共的文件服务器上,下载最新版本的安装介质。

4)启动诊断程序

安装介质实际是一个压缩包,包括安装脚本、jar、版本文件等。安装介质首次下载到目标服务器后,通道对其解压并执行启动脚本。我们修改了 Arthas 的启动脚本,根据用户输入的进程关键字,找到目标进程,然后使用和目标进程相同的 jdk 版本,启动诊断程序。注意,启动时 Arthas 的 target-ip 参数被设置为网关地址,以隔离其他渠道访问,默认值 127.0.0.1 表示只能本地访问。

5)使用和卸载

诊断进程接收用户诊断指令,开始诊断。使用完用户可手工点击卸载,销毁诊断进程。

实际使用效果

这里举几个例子,看一下平台的实际使用效果。

1. 控制面板

基于 dashboard 命令,控制面板实时展示目标进程的整体运行情况,包括线程、jvm、操作系统等,每隔 10s 刷新一次,用户也可选择手动刷新。线程按 CPU 使用率取 TOP10,jvm 主要展示内存分布和 GC 情况:

6.png

点击查询更多可以查看详情,比如监控 jvm 的内存及垃圾回收情况:

7.png

2. 线程清单

线程清单页面按 CPU 使用率分页展示所有线程,支持按线程状态(如 RUNNABLE、BLOCKED)过滤,在控制面板页面点击查看更多,也可以直接跳到此页面:

8.png

点击某条记录,跳转到线程详情,展示线程堆栈,在堆栈中选中一个方法,则可以直接进行方法观测、方法追踪、方法追溯、方法监控、反编译等操作:

9.png

3. 方法监测

方法监测指的是对方法运行情况的监控和观测,具体包括下面几个功能。

1)方法观测

支持对选中的堆栈中的方法进行观测,也就是 watch 命令,这里以开发环境举例(开发环境不做数据脱敏),可以实时捕获方法的输入、输出、异常堆栈、执行耗时等,并且支持指定观测次数、耗时限制等条件。比如我这里对 UserServiceImpl 类的 findUser 方法的调用情况进行观测:

10.png

当方法抛异常时展示堆栈:

11.png

2)方法追踪

方法追踪指的是追踪方法的调用栈,打印每个方法的执行耗时,基于 trace 命令实现,在排查性能问题时非常有用。看一下方法追踪的界面,直接高亮标记出调用栈上耗时最久的方法,也支持配置过滤规则,过滤一些不关心的方法(比如 java 底层代码)。在这个方法调用栈界面,又可以选中其中某个方法,进行观测、追溯、监控等操作,不同的诊断能力之间都是打通的:

12.png

3)方法追溯

有时需要追溯方法被谁调用了,则可以使用方法追溯。比如这里通过方法追溯可以看到 Dubbo 的 Filter 处理链:

13.png

4)方法监控

有时我们需要对某个方法一段时间的执行情况进行观测,这时可以使用方法监控功能。比如这里每隔 10 秒统计一次方法的执行次数、成功失败次数、平均耗时、失败率等指标:

14.png

4. 反编译

当我们需要确认 Java 虚拟机加载的代码情况时,比如你修改的代码是否生效,我们在本地经常使用一些反编译工具以达目的。jad 命令提供了在线反编译能力,我们基于 jad 以界面的形式展示 Java 虚拟机加载的实际代码,同时也会展示类加载器树、类的路径。比如这里对 findUser 方法的反编译情况(不指定方法名的话,则对整个类反编译),可以看到这个类属于 springboot 项目,被 spring 的类加载器加载:

15.png

5. 其他能力

我们对其他的实用命令,也做了一些封装和定制,比如 sc、sm、redefine、tt 等,这里就不一一介绍。此外,我们也将实时诊断能力和内部监控运维系统相整合,在排查问题时,可以通过直接跳转的方式申请在线诊断权限,对目标进程做实时诊断。下图是行内全链路跟踪产品截图,支持直接对问题链路关联的节点进行诊断:

16.png

回顾与展望

简要回顾一下前面提到的几个困难和我们的解决方案:

  • 学习成本问题:我们通过 Web UI 的方式降低学习成本,也提供了更复杂的交互场景和出色的用户体验。通过网关统一提供 Resful 接口提供结构数据,也更便于集成到企业内部其他运维平台。

  • 多人协作问题:通过会话管理、互斥访问、自动卸载等手段,解决多人协作问题。

  • 信息安全问题:通过用户鉴权、数据脱敏、操作审计、网络隔离等手段,解决信息安全问题。

  • 资源占用问题:通过自动卸载、减少连接、自定义类加载器(Arthas自带)等手段,在充分性能测试基础上,保障资源占用可控。

  • 环境不统一问题:通过搭建网关集群,统一代理对云上、云下环境的访问。采用一致的策略,统一管理云上、云下环境介质的版本、下发和安装。

当前,工行在线诊断平台已在实际线上问题分析中持续发挥关键作用,Arthas 也越来越得到社区的关注和开发者的认可。Arthas 官方在新版本中已经支持了 Restful 接口,提供结构数据,也支持了更丰富的诊断命令,这跟我们的建设思路不谋而合。未来,我们将继续积极参与社区建设,将工行的实践经验分享给大家。

Arthas 有奖征文正在进行中!

为了让更多开发者开始用上 Arthas 这个 Java 诊断神器,今年 3 月 26 日,Arthas 社区联合 JetBrains 推出  Arthas 有奖征文活动:**聊聊这些年你和 Arthas 之间的那些事儿。**活动已进行至第五期,点击链接即可参与: http://alibabacloud.mikecrm.com/9khcRrs,欢迎大家踊跃投稿,参与即有可能获奖!

“ 阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”

阿里云云原生
关注 关注
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
博客
推荐一款好用的刷题工具
08-01 527
为了帮助正在准备求职季的开发者提升备战效率,阿里云特别推出“通义灵码陪你备战求职季”活动,精心挑选百道历史校招技术面试/笔试题,借助通义灵码智能问答、代码智能生成、代码优化等核心功能,帮助开发者更加准确地了解程序员职业所需的核心技能,加强对问题解决思维和解题能力的练习。
博客
通义灵码 Visual Studio 下载安装指南(附安装包)
07-01 1615
本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。
博客
CNCF 官方大使张磊:什么是云原生?
12-03 1万+
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使编者说:从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云计算供应商都加入了云原生基金会CNCF,云原生技术也从原来的应用容器化发展出包括容器、Service Mesh、微服务、不可变基础设...
博客
超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
10-12 7236
作者 |张晓宇(衷源) 阿里云容器平台技术专家关注『阿里巴巴云原生』公众号,回复关键词“1010”,可获取本文 PPT。导读:资源利用率一直是很多平台管理和研发人员关心的话题。本文作者通过阿里巴巴容器平台团队在这一领域的工作实践,整理出了一套资源利用提升的方案,希望能够带给大家带来一些讨论和思考。引言不知道大家有没有过这样的经历:当我们拥有了一套 Kubernetes 集群,然...
博客
当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?
09-23 6614
作者 | 阿里云容器平台高级技术专家 曾凡松(逐灵)本文主要介绍阿里巴巴在大规模生产环境中落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd、kube-apiserver、kube-controller 的若干性能及稳定性增强,这些关键的增强是阿里巴巴内部上万节点的 Kubernetes 集群能够平稳支撑2019 年天猫 618 大促的关键...
博客
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
10-12 1066
逐一解决 iLogtail 替换 Logstash 的五大问题后,我们可以从容地说,iLogtail 在配置管理、采集、反馈等方面初步形成了一个小的闭环,无需过多依赖于其它工具,在技术上,是 Filebeat、Logstash 的最佳替代者。
博客
打造你的专属语音助手,基于函数计算托管 CosyVoice 语音模型
10-11 633
目前,声音的推理和合成在很多领域都有广泛的应用,比如儿童/成人教育、疗愈/陪伴、销售/客服、游戏 NPC、车载通信,工/农业线下辅助等。CosyVoice 是一款优秀的语音合成模型,支持语音合成、情感控制、多语言语音合成等诸多功能,效果体验极佳。
博客
通义灵码 AI 程序员来了!丨阿里云云原生 9 月产品月报
10-11 970
《阿里云云原生每月动态》,从趋势热点、产品新功能、服务客户、开源与开发者动态等方面,为企业提供数字化的路径与指南。
博客
Android & iOS 使用 ARMS 用户体验监控(RUM)的最佳实践
10-11 710
本文主要介绍了 ARMS 用户体验监控的基本功能特性,并介绍了在几种常见场景下的最佳实践。ARMS 用户体验监控作为一个面向终端的实时监控服务,不仅能够提供专业的、深层次的、精细化的数据采集和洞察能力,还能通过集成 ARMS 应用监控和可观测链路 OpenTelemetry 版本进行端到端链路深度整合和分析。
博客
阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
09-29 1421
SAE Web 上线后对于用户的事件需求更加的敏感,因为 Web 支持百毫秒弹性,所以对于事件的实时性和可靠性的要求更高,对于用户的通知和告警消息感知也更重要,针对这些需求 SAE 针对 Web 进行开发了事件中心让用户可以更好的感知异常事件。
博客
iLogtail 进化论:重塑可观测采集的技术边界
09-29 1103
iLogtail 作为一款开创性的轻量级日志采集器,历经 13 载风雨,始终致力于高效地从多元化的数据源中萃取、处理可观测信息,并无缝传输至阿里云日志服务或各类日志分析平台。今年,适逢 iLogtail 开源两周年的里程碑时刻,我们将回顾 iLogtail 的技术演进之路,领略其不断突破边界、引领可观测采集未来的创新力量。
博客
Star 3w+,向更安全、更泛化、更云原生的 Nacos3.0 演进
09-29 1208
Nacos 社区刚刚迎来了 Star 突破 30000 的里程碑,从此迈上了一个新的阶段。感谢大家的一路支持、信任和帮助!
博客
深入探索 RUM 与全链路追踪:优化数字体验的利器
09-25 927
本文旨在探讨端到端链路打通的解决方案,并分享 RUM 与端到端链路集成的最佳实践。
博客
2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
09-24 619
9 月 20 日,2024 天池云原生编程挑战赛决赛答辩完美落幕,12 支进入决赛的团队用精彩的答辩,为历时 3 个月的大赛画下了圆满的句号。其中,来自中山大学的陈泓仰以及来自昆仑数智的冉旭欣、沈鑫糠、武鹏鹏,以出色的方案、创新的优化思路、过硬的技术实力分获赛道一和赛道二的冠军。
博客
重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
09-24 971
近日,阿里云可观测产品家族正式发布云监控 2.0,隶属产品日志服务 SLS、云监控 CMS、应用实时监控服务 ARMS 迎来重磅升级。借助全新升级的一站式全景接入、统一观测图谱以及 AI 增强的跨域智能洞察能力。
博客
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
09-24 876
在 AI 程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。
博客
函数计算 FC:首发 GPU 极速模式,更弹性、更降本
09-24 587
函数计算 FC 作为轻量灵活、事件驱动的全托管计算服务,一直以来以弹得更快、粒度更细、成本更低为广大开发者与企业客户所青睐。
博客
云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索
09-24 562
云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索,明天我们现场见
博客
降本 60%!小熊油耗使用阿里云 SAE 更加稳定可靠
09-24 651
在技术不断进步与市场竞争日益激烈的背景下,小熊油耗坚定地相信,通过持续优化和创新,定能在未来实现更大的发展与突破。感谢阿里云 SAE 为小熊油耗的成长与发展提供了强有力的支持。
博客
使用通义灵码,参与开源项目全程纪实
09-24 672
通义灵码对于解决批量类、经验类等工作确实很有帮助,对于了解一个陌生的项目也非常得心应手,下次接触新项目时不妨尝试一下通义灵码,会带给你惊喜的。
写文章

热门文章

  • KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎 11177
  • CNCF 官方大使张磊:什么是云原生? 10535
  • Spring Cloud 2020.0.0 正式发布,对开发者来说意味着什么? 9214
  • 如何使用 Kubernetes 监测定位慢调用 8728
  • All in one:如何搭建端到端可观测体系 8724

分类专栏

  • 云原生多集群和应用管理
  • Serverless 技术公开课 34篇
  • CNCF X 阿里巴巴云原生技术公开课 61篇
  • 用户案例 1篇
  • 数据开源 4篇

最新评论

  • 十六年所思所感,聊聊这些年我所经历的 DevOps 系统

    阿J~: 先一键三连,有空慢慢研究

  • 十六年所思所感,聊聊这些年我所经历的 DevOps 系统

    ha_lydms: 博文作者真是一位出色的写手!这篇博文让我受益匪浅,语言简洁明了,逻辑严谨有序。作者不仅运用了丰富的例子和引文,为观点提供了充分的支持和验证,还以其独特的视角带给读者全新的思考。

  • 基于 RocketMQ 的云原生 MQTT 消息引擎设计

    旷世奇才李先生: 基于 RocketMQ 的云原生 MQTT 消息引擎设计,这篇文章很好,值得一读。

  • 十六年所思所感,聊聊这些年我所经历的 DevOps 系统

    征途黯然.: 这篇关于十六年所思所感聊聊这些年我所经历的DevOps系统的文章非常有深度和见解!理解和解释令人印象深刻。我从中学到了很多知识。感谢分享!表情包

  • AI 时代,网关更能打了?

    CodeWhisperer: AI时代下,网关确实面临新挑战,Higress应运而生,专为AI应用设计。它不仅支持高带宽、高延迟的长连接,还实现了配置热更新、安全防护等功能。尤其是基于Token的流控,更精准评估资源消耗,加上全面监控,确保系统稳定。多租户下的域名和规则路由、快速更新及HTTPS支持,让Higress成为AI场景下的优选网关解决方案。

最新文章

  • iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
  • 打造你的专属语音助手,基于函数计算托管 CosyVoice 语音模型
  • 通义灵码 AI 程序员来了!丨阿里云云原生 9 月产品月报
2024
10月 4篇
09月 39篇
08月 45篇
07月 14篇
06月 24篇
05月 27篇
04月 40篇
03月 34篇
02月 20篇
01月 68篇
2023年382篇
2022年473篇
2021年323篇
2020年491篇
2019年187篇
2018年20篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司怀化企业网站优化推广电商平台网站seo优化360影视网站URL优化汕头公司网站关键词优化多少钱企业网站优化需要避免哪些错误诸城优化网站效果工艺品网站怎么优化江西网站优化营商环境珠海企业网站优化是什么佛山网站优化关键词教程郑州网站优化-野狼seo环保节能网站优化哪家好网站怎么做优化排名静安区网站优化平台谷歌排名网站优化商洛网站优化怎么样福山行业网站优化公司整站优化的网站外链怎么建设壹起航网站优化任务神马网站关键词排名优化聊城正规网站优化咨询电话广西律师网站优化优化对网站带来什么只有图片的网站做seo优化网站手机端优化浙江宁波网站优化推广重庆网站排名优化报价没基础学网站优化难吗企业品牌网站优化服务外包惠州网站安全优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化