阿里云中间件架构升级:从分布式到云原生AI应用
阿里云中间件简介
阿里云中间件是介于操作系统和应用程序之间的软件,实现分布式系统的通信和数据处理。阿里云中间件包括消息、微服务、高可用、可观测等类别,几乎全开源。其发展历程可分为三个阶段:
-
阶段1:分布式互联网架构(五彩石项目)
- 目标:实现业务快速迭代和超大规模秒杀。
- 特点:无限横向扩展、高性能、低成本(去I/O E)。
- 统一中间件复利:全链路trace ID、全链路观测、全链路压测、全局高可用(异地多活、单元化)。
- 开源历程:2012年开源RocketMQ、Dubbo,开启持续十年的开源旅程。
-
阶段2:面向云原生应用架构
- 微服务生态:发布Spring Cloud Alibaba,支持Service Mesh,增强治理能力。
- Serverless应用:RocketMQ轻量无状态SDK,Dubbo支持Native Image,发布Serverless dev工具链。
- K8s生态:Highress支持Ingress K8s网络通信标准规范、支持xDS协议。
- 云原生观测:发布iLogtail,支持Open Telemetry。
- 消息引擎云原生升级:RocketMQ发布5.0,基于云存储的存算分离架构,支持多种开源标准协议。
-
阶段3:面向AI原生应用架构
- AI应用架构变化:请求响应耗时数十秒、算力消耗增大、请求响应耗时方差大、从短连接走向长连接、更高数据集成。
- AI开发框架:AI开发框架+AI观测能力+AI网关+事件驱动,一站式助力大模型应用落地。
- Spring AI生态:发布Spring AI Alibaba,简化AI应用开发。
- AI场景观测:阿里云可观测探针基于Open Telemetry Python SDK扩展,自动获取大模型调用各阶段数据。
- AI场景网关:Highress支持多模型适配,已支持主流大模型供应商,支持流式输出、请求/Tokens限流防护、长连接无损热更新。
- AI场景事件驱动:RocketMQ支持主动Pop消费模式,自适应负载均衡,动态消费超时时长。
开源社区与开发者生态
- 开源项目:Apache Dubbo、Apache RocketMQ进入Apache软件基金会中国项目领导者象限,入选“科创中国”开源创新榜单。
- 开源社区建设:每年开源之夏参与度高,开发者贡献活跃,多个项目入选开源榜单。
- 开源商业化:Apache RocketMQ开源商业化生态走向繁荣,10+厂商提供商业化服务。
- 开源社区活动:年度云原生编程挑战赛、开发者大会等,促进开源创新。
客户实际落地效果
- 代码生成提效:公共云用户AI代码生成占比约30%(Java语言),节省约30%写代码时间。
- 研发问答提效:平均每个开发者每天执行7个以上任务,按每个任务节省10分钟计算,每日可节省超过70分钟开发时间。
- 大模型回答效果:问答点赞比例约70%,大模型回答对开发者有效,提升开发效率。
- 主观调研数据:用户满意度超过80%,VSCode插件市场评分4.3分(5分制)。
- 综合人效提升:预计可提升10%-15%人效。
- 企业数据看板:通过AI代码生成占比看效果。
Spring Cloud Alibaba AI
- 面向Java开发者的AI应用开发框架。
- 核心概念:Model、Prompt、OutParser、Function Call、Embedding、Vector Store、ETL、Evaluation。
- 适配器:支持OpenAI、Azure、Ollama、Amazon、Google、通义千问等主流LLM提供商。
- 使用示例:声明ChatClient为标准Spring Bean,依赖配置,指定模型与key,应用入口。
AI时代的API网关选型
- 传统流量网关能力不足:配置热更新能力不足、流式处理能力不足、缺乏针对LLM应用的安全防护策略。
- Higress AI网关能力:AI代理插件、AI安全插件、AI可观测插件、AI限流插件、AI开发插件集。
- Higress优势:长连接无损热更新、安全网关能力、高效流式处理。
- 适用场景:企业内部AI网关、AI应用网关、MaaS/AGI接入层。
AI Web的演进趋势
- 用户交互方式:用户从主动参与互联网转变为通过AI帮助参与。
- 互联网内容形式:不仅服务于真实用户,还要同时服务于AI。
- AI时代的Web 2.0:出行场景、电商场景、OA场景,AI自动安排旅行计划、充当导购、自动提交审批申请。
- API管理的重要性:AI操作互联网API将成为LLM应用的一等公民,企业API管理将越来越受重视,更智能化的流量治理网关可以更深入地了解所处理流量的业务含义,回归API网关本质帮助用户做好API的设计、管理。
无侵入的实现Golang大模型应用可观测
- 背景:可观测性是以系统的指标、日志、链路追踪、持续剖析四大数据支柱为基础,衍生出如数据监控、问题分析、系统诊断等一系列的能力。
- Golang应用可观测:通过https://github.com/tmc/langchaingo提供的能力发起prompt查询,使用net/http发起请求,统计和观测调用结果。
- Aliyun Go Agent:支持自动埋点,针对net/http的RoundTrip插入埋点,实现Trace能力注入和Metrics能力注入。
- 链路追踪与性能监控:支持常见的Trace透传协议,提供丰富的指标大盘、端到端的全链路追踪、日志关联、持续剖析。
- RoadMap:更丰富的功能支持,如Kafka、ES、PgSQL,持续剖析,动态调试,应用诊断等。
- 应用效果:限流降级、全链路灰度。