58同城深度学习推理平台:基于Istio的云原生网关实践解析

news/2025/2/21 5:24:22

在当今数字化时代,深度学习技术的快速发展为各行各业带来了革命性的变化。作为国内领先的分类信息网站,58同城一直致力于通过技术创新提升服务质量和用户体验。近期,58同城AI Lab推出了一项重要的技术革新——基于Istio的云原生网关深度学习推理平台。本文将从技术角度深入解析这一创新实践,探讨其架构设计、应用效果以及未来发展方向。

一、深度学习推理平台的重要性

深度学习推理平台在58同城的业务中扮演着至关重要的角色。它不仅负责将算法人员使用深度学习框架训练出来的模型部署到生产环境,还提供了高性能、高可用的在线推理服务。目前,该平台已上线超过1000个模型,运行在4000多个节点上,日均请求量高达30亿次,峰值QPS达到6.6万次。这一规模和性能要求对平台的架构设计和运维提出了极高的挑战。

二、推理架构1.0的不足

在推理平台1.0架构中,58同城面临着一系列挑战。首先,由于缺乏平台化能力,各业务部门在实现AI应用落地时效率低下。其次,算法人员深陷工程泥潭,模型迭代效率低。此外,SCF框架虽然具备成熟的服务治理能力,但在服务性能、开发运维成本和业务接入方面存在明显不足。例如,SCF与gRPC请求协议互转的延时损耗大,底层Netty SocketChannel自适应缓冲区内存配置策略对size较大请求不友好,导致性能抖动。同时,与第三方库紧密耦合,集成新功能或第三方库升级都需要对网关进行整体升级,成本较高。接入流程复杂,增加了算法人员调试成本,且不支持HTTP方式接入。

三、Istio云原生网关的革新

为了解决上述问题,58同城AI Lab引入了Istio云原生网关。Istio是一个开源的服务网格框架,旨在解决微服务架构中的服务间通信问题。它通过提供透明的代理和服务治理功能,简化了微服务架构的运维复杂性。Istio的诞生标志着云原生概念的重定义,它将服务网格理念融入云原生体系,成为处理服务间通信的基础设施层。

Istio云原生网关在多个方面展现了其优势。首先,Envoy作为边缘代理,在Lyft公司中得到生产验证,随后成为云原生计算基金会(CNCF)第三个毕业的项目。其次,Istio采用了控制面和数据面隔离的架构,搭配xDS(x Discovery Service)动态配置同步方案,实现了全面的能力。它具有强劲的代理性能,丰富的流量治理能力,如请求路由、负载均衡、超时、限流、熔断等,以及强大的可观测性支持,如详细的监控指标和完整的访问日志。此外,Istio还具备灵活的可扩展性,可以通过Filter、Lua和WASM方式增强功能。

四、推理架构2.0的设计实现

基于Istio云原生网关,58同城AI Lab设计了推理架构2.0。新架构专注于服务信息与策略配置的分发,通过Istio控制面和数据面的高效协作,实现了流量管理和多租户隔离。新架构通过域名+ CLB组合实现了网关侧负载均衡和高可用,同时封装K8S manager service作为业务操作K8S+Istio资源的统一入口,标准化操作行为。为了不影响推理性能及降低运维复杂度,服务节点未注入Sidecar代理。

五、推理架构升级后的效果

升级到2.0架构后,58同城的深度学习推理平台在性能、稳定性和易用性方面实现了全面提升。请求转发性能更强劲,推理耗时相对于原始架构减少了50%以上。数据面和控制面从部署层面实现资源隔离,功能更加内聚、服务更加稳定。同时,新架构提供了丰富、开箱即用的流量治理功能,极大地方便了后续开发、运维工作。

六、未来发展方向

展望未来,58同城AI Lab将继续优化深度学习推理平台。计划包括持续跟进K8S、Istio等基础设施提供的新特性,丰富平台功能,提升推理性能。例如,推理工作负载绑核、绑NUMA部署,测试环境节点自动化压测能力,辅助部署资源申请等。同时,持续完善平台可观测体系建设,实现K8S Event事件、流量Metrics和资源Metrics等数据的联动展示、分析能力,基于可观测数据不断提升弹性扩缩、离在线混部等功能的准确性、及时性。

七、结语

58同城基于Istio的云原生网关深度学习推理平台实践,展现了企业在技术创新和业务优化方面的坚定决心和卓越成果。通过引入先进的云原生技术和微服务架构,58同城不仅提升了服务性能和用户体验,还为行业树立了标杆。


http://www.niftyadmin.cn/n/5860206.html

相关文章

用DeepSeek来帮助学习three.js加载3D太极模形

画一个平面的太极图是很容易,要实现3D的应该会很难 一、参考3D模形效果 看某网页看到一个效果,像一个3D太极球,觉得挺有趣,挺解压的,想进一步去了解下这是如何实现 效果: 链接地址: http://www.…

python:多重继承、MRO(方法解析顺序)

在 Python 中,当类存在多重继承时,方法的调用顺序由 方法解析顺序(Method Resolution Order, MRO) 决定。 Python 使用 C3线性化算法 来确定类的继承顺序(MRO),其核心规则是: 子类优…

第六届全球数据库大赛:PolarDB TPC-C性能优化挑战赛方案分享(一)--参数调优

文章目录 前言一、基本参数二、提分参数三、关键参数四、遗漏参数总结前言 今年由于阿里承办了全国大学生计算机系统能力大赛PolarDB数据库创新设计赛,本以为数据库大赛会取消,直到十一左右比赛才姗姗来迟,所以赛程较往年缩短了一个月左右,初赛和复赛都只有一个月时间,时…

跟着 Lua 5.1 官方参考文档学习 Lua (5)

文章目录 2.10 – Garbage Collection2.10.1 – Garbage-Collection Metamethods2.10.2 – Weak Tables 2.10 – Garbage Collection Lua performs automatic memory management. This means that you have to worry neither about allocating memory for new objects nor abo…

如何调用 DeepSeek API:详细教程与示例

目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例:调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…

工程项目管理系统(源码+文档+部署+讲解)

本文将深入解析“工程项目管理系统”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 工程项目管理系统是一个综合性的管理系统,旨在为工程项目的全生命周期提供全面的支持。该系统包括管理端、小程序、信息中心、…

jvm中各个参数的理解

MEMORY - MANAGERS 定义 MEMORY - MANAGERS即内存管理器,它是操作系统或软件系统中负责管理计算机内存资源的组件。从本质上来说,它是一种软件机制,旨在协调计算机系统中内存的分配、使用和回收等操作,确保系统能够高效、稳定地…

实时股票行情接口与WebSocket行情接口的应用

实时股票行情接口与WebSocket行情接口的应用 实时股票行情接口是量化交易和投资决策的核心工具之一,行情接口的种类和功能也在不断扩展。介绍几种常见的行情接口,包括实时股票行情接口、Level2行情接口、WebSocket行情接口以及量化行情接口,…