模型选型与API网关的那点事

发布时间:2026/10/28 10:36:51

模型选型与API网关的那点事 我参与搭建这家中型企业AI能力中台的Java架构实录与踩坑总结上头刚给压下来一个活儿给一家中型制造企业搞AI能力中台。客户业务线挺杂客服、质检、运维都在喊话要接入大模型但各自为政算力浪费严重。项目规模中等偏上涉及几十微服务、多种模型接入要求两周内出MVP。说实话当时我觉得这工期有点紧但硬着头皮也得上。模型选型与API网关的那点事一开始内部吵得不可开交。方案A是统一走OpenAI兼容接口快速接入各种大模型方案B是自研模型路由层支持内部微调的私有模型优先调度。试了一圈发现客户要求数据不出域方案A直接被毙。我选了方案B但加了个降级策略——私有模型响应超时超过2秒自动切到云端备用。有意思的是我们用了Spring Cloud Gateway做统一入口。配置里有个坑route predicates里写错了正则导致部分请求被意外拦截排查了整整一下午。yamlspring:cloud:gateway:routes:id: ai-model-routeuri: lb://ai-model-servicepredicates:Path/api/v1/predict/**filters:StripPrefix2Retry3,500ms网关层还加了熔断器用Resilience4j。之前没用过这个以为和Hystrix差不多结果配置语法忘了一个逗号线上直接报错。缓存策略和异步调度的抉择高并发场景下模型推理延迟是个大问题。我决定引入多级缓存本地Caffeine 分布式Redis。本地缓存存高频小模型结果Redis存推理中间状态。这里踩过一个大坑Redis里存了推理任务的JSON结果序列化时用了Jackson没注册模块反序列化时遇到LocalDateTime直接炸。查了日志才发现是时间戳格式问题。javaConfigurationpublic class RedisConfig {Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory factory) {RedisTemplate template new RedisTemplate();template.setConnectionFactory(factory);template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());return template;}}异步调用这块我本来想用 CompletableFuture但考虑到任务量达到上千级别还是换成了基于RocketMQ的异步任务队列。客户那边消息积压时监控报警差点把我吓醒。后来加了消费者扩容才稳住。部署架构从单体到微服务的迭代我们没上来就搞k8s先用的Docker Compose跑在阿里云ECS上。MVP阶段这样最快。等流量起来再迁移到K8s集群。部署时踩了个坑容器里时区不对导致日志时间戳比实际晚8小时排查了半天。解决办法是在Dockerfile里加一行dockerfileENV TZAsia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone有意思的是我们内部模型训练用的是PyTorch推理服务用Java两边数据格式对不上最后用Protobuf做了个中间转换层。当时我觉得这样就行结果发现Protobuf的字段序号乱了反序列化结果全是null排查了一晚上。架构决策的取舍与反思回过头看这几个关键决策里最让我纠结的是模型路由策略。最终选择了动态优先级调度而不是固定权重。因为客户业务波动大高峰期客服咨询量是平时的十倍固定权重会导致资源浪费。说实话现在回头看有些设计还是过于理想化了。比如缓存失效策略本来想用地过期时间但实际业务数据更新频率不固定导致部分用户看到的数据是旧的。后来改成了主动失效定期清理的组合方案。这个项目上线后内部系统响应速度提升了约60%模型调用成功率稳定在99.5%以上。当然中间熬了不少夜掉了好几根头发。但看到业务方真的在用我们搭的中台提效还是觉得值。本文基于实际项目经验整理欢迎在评论区交流技术问题。
延伸阅读

更多相关文章

2026/10/28 4:14:14

LFM2.5编码器:CPU环境下长文本推理的完整实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 5:58:10

智能硬件开发团队怎么选?从BLE协议到量产避坑全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 5:56:19

VS2017下Qt与OSG集成实战:QOpenGLWidget无缝渲染三维场景

简介:这是一份基于OSG与Qt的集成开发示例工程,源自GitHub,经作者在VS201764位环境下调试通过,可直接运行。资源面向需要将OSG三维渲染能力嵌入Qt界面程序的开发者,覆盖视图渲染、场景交互、模型加载与视角控制等常见功…

2026/10/28 10:34:48

系统调用本质:从time(NULL)到int 0x80的硬件级执行链

简介:本资源是重庆大学软件学院《操作系统》课程实验一‘系统调用’的完整配套文档,面向计算机专业本科生及操作系统内核初学者,聚焦Linux环境下系统调用的原理实现与跨态交互实践。文档以实操为主线,详细解析EPOS嵌入式POSIX操作…

2026/10/28 10:34:48

镁伽 Poreva Open 生物医药比赛共设 **5 道赛题*

镁伽 Poreva Open 生物医药比赛共设 5 道赛题 ,分两轮发布:首轮 3 题(EGFR、TNF-α、GLP-1R,提交截止 11 月 18 日)已在官网和媒体通稿中公布细节;次轮 2 题(KRAS G12D、BCL-2)目前仅…

2026/10/28 10:34:48

TPM、PCR与信任链:可信计算题库核心考点解析

简介:华中科技大学可信计算线上测试题目及答案文档面向准备课程线上测试、期末复习及网络安全方向入门的学习者,聚焦可信计算核心概念与常见考点的问答梳理。压缩包共1个docx文件,大小约558KB,内容按题目组织,便于检索…

2026/10/28 10:34:48

AHP层次分析法实战:判断矩阵、CR检验与城市竞争力评价

简介:面向经济管理、统计学、城市规划及系统工程等专业学习者与政策分析人员的专题文档,围绕城市竞争力这一多因素综合评价问题,介绍如何用层次分析法(AHP)建立量化评价模型。内容从目标层、准则层、要素层和指标层四级…

2026/10/28 10:34:47

高阶网络入门:为什么三人协作不能拆成三对双人关系

简介:本资源是剑桥大学出版社出版的前沿学术专著《Higher-order Networks: An Introduction to Simplicial Complexes》,由高阶网络与复杂系统领域权威学者Ginestra Bianconi撰写,面向研究生、科研人员及从事复杂系统建模、网络科学、拓扑数据…

2026/10/27 14:24:03

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/27 9:34:54

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑