2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Uber Eats 推出 INCA,将目录管理从餐厅扩展到零售

作者:Leela Kumili

  • 2025-09-02
    北京
  • 本文字数:1176 字

    阅读完需:约 4 分钟

大小:577.49K时长:03:17
Uber Eats推出INCA,将目录管理从餐厅扩展到零售

Uber Eats 推出 INCA(INventory and CAtalog),一个用于 Uber 全球平台的可扩展的目录系统,用来管理来自超市、药店和其他零售合作伙伴庞大且多样化的商品库存。INCA 打破了 Uber Eats 最初以餐厅为中心的架构的局限性。最初的架构针对的是低 SKU 数量和直接传递式目录管理,无法满足零售环境中对规模、元数据复杂性和合规性的要求。


INCA 每天处理数十亿次目录变更,旨在近乎实时地更新产品数据,确保价格或可用性等关键信息的延迟时间低于一分钟。它将数据的摄取、填充、发布和索引管道统一起来,确保用户能够在 Uber Eats 的应用程序中看到准确且最新的产品。


Uber Eats 的工程师将零售目录管理描述为一个“模糊且复杂的问题空间”。产品数据可能会被摄取,但其可用性可能会因下游因素而发生改变,这些因素会影响商品是否以及如何呈现给客户。QCon 的一场演讲和一篇关于优化搜索系统的文章讨论了管理商品杂货和零售库存所面临的一些挑战,包括搜索优化和相关性问题。


数据模型采用了通用的“实体 + 扩展”结构,能够灵活地表示各种属性,例如营养成分信息、合规标签或商店营业时间等。它还支持零售商提供的 ID 和内部 UUID,从而减少了在标识符更改时可能出现的重复或产品不匹配问题。


模型的核心是项,也称为“销售产品”,代表正在销售的产品,包括价格、可用性和数量。项与零售商、目录部分和履行选项进行了链接,并与一个详细描述其属性(例如营养信息、尺寸和费用等)的产品相关连。


INCA 目录模型(来源:Uber 工程博客


INCA 的架构遵循六个核心原则:无限可扩展性;无需重新设计架构即可添加新属性;针对商家、地区或产品类型配置智能规则;在发布前填充产品数据;以分类驱动的目录结构;以及支持推送和拉取 API、节流和容错的弹性摄取。


端到端目录流程(来源:Uber 工程博客


目录摄取支持多种集成模式,可以通过 SFTP 上传 CSV 文件,也可以通过 Starlark 脚本进行灵活的属性转换。通过 Cadence 工作流实现了容错摄取协调,支持增量和全目录同步。在发布时系统会依据优先级排序的合并规范,从多个来源中挑选出最佳属性。在发布过程中会运行在线填充器和验证器,以丰富数据度并验证其准确性。


INCA 中使用的基于实体和扩展的数据模型(来源:Uber 工程博客


数据填充服务使用 LLM 生成的描述、分类、规范链接和合规性检查来丰富原始产品数据。回归检测会监控异常情况,例如大量 SKU 下架、定价归零或通道移除,帮助团队在问题影响到客户之前迅速发现并解决问题。


INCA 管理着数亿个非餐厅类别的 SKU,为 Uber Eats 的零售目录提供结构化、丰富且易于发现的产品数据。目录版本控制功能支持在全球和单店级别近乎即时地回滚更新,使团队能够在不影响客户体验的前提下,迅速从错误或异常中恢复。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


原文链接:

https://www.infoq.com/news/2025/08/ubereats-inca-inventory-catalog/

2025-09-02 10:053457

评论

发布
暂无评论

一键搭建博客:如何使用WordPress插件搭建专属博客

hum建应用专家

Wordpress 部署 Wordpress 博客部署

原型链继承和构造函数继承的 “毛病”

掘金安东尼

JavaScript 前端 设计模式 7月月更

怎么样的框架对于开发者是友好的?

MASA技术团队

.net 云原生 软件架构

架构实战营模块八作业

Geek_Q

centos8快速安装mongdb6.0

技能实验室

专访 | 阿里巴巴首席技术官程立:云 + 开源共同形成数字世界的可信基础

kk-OSC

开放原子全球开源峰会

专访 | 软通动力高级副总裁秦张波:开源驱动创新,推动操作系统产业生态建设

kk-OSC

开放原子全球开源峰会

开放原子开源基金会秘书长孙文龙 | 凝心聚力,共拓开源

kk-OSC

开放原子全球开源峰会

SiC功率半导体产业高峰论坛成功举办

极客天地

开放原子开源基金会黄金捐赠人优博讯携手合作伙伴,助力OpenHarmony破圈!

极客天地

转转push的演化之路

转转技术团队

push

React Fragment

程序员海军

7月月更

聊聊性能测试环境搭建

老张

性能测试 环境搭建

推荐算法的三大研究热点

博文视点Broadview

高效能7个习惯学习笔记

JefferLiu

高效能人士的七个习惯

如何消减敏捷开发协作中的「认知偏差」?| 敏捷之道

LigaAI

程序人生 产品经理 LigaAI 敏捷开发流程 研发协作

重磅 | 开放原子算法大赛拉开帷幕

kk-OSC

开放原子全球开源峰会

C# 之 volatile关键字解析

陈言必行

7月月更

重磅 | 开放原子校源行活动正式启动

kk-OSC

开放原子全球开源峰会

即学即用的问题解决思维,给无意识的生活装上“后视镜”

图灵教育

又快又稳!Alibaba出品Java性能优化高级笔记(全彩版)震撼来袭

冉然学Java

编程 程序员 分布式 性能优化 java 14

CSP直通车 | 在线直播认证培训双周末班 火热报名中

ShineScrum

Scrum 敏捷 CSP-SM 敏捷专家 敏捷大师

重磅 | 2022 开放原子全球开源峰会在北京开幕

kk-OSC

开放原子全球开源峰会

敢看系列?Python字体反爬实战案例之实习那僧,继续挖坑

梦想橡皮擦

Python 爬虫 7月月更

JAVA编程规范之二方库依赖

源字节1号

软件开发 程序员‘

重磅 | 基金会为白金、黄金、白银捐赠人授牌

kk-OSC

开放原子全球开源峰会

开源峰会抢先看 | 7 月 29 日分论坛 & 活动议程速览

kk-OSC

开放原子全球开源峰会

elasticsearch实战三部曲之一:索引操作

程序员欣宸

Java elasticsearch 7月月更

用户身份标识与账号体系实践

Java 架构 业务设计 IDMapping 数据映射

C# 使用数据库对ListView控件数据绑定

IC00

C# 7月月更

Uber Eats推出INCA,将目录管理从餐厅扩展到零售_后端_InfoQ精选文章