使用高性能 gRPC™ 加速 OpenSearch™ 中的搜索与摄取

April 14, 2026

April 14, 2026

Karen Xu

Karen Xu

Karen Xu

Staff Software Engineer

资深软件工程师

Xi Lu

Xi Lu

Xi Lu

Software Engineer

软件工程师

Shuyi Zhang

Shuyi Zhang

Shuyi Zhang

Engineering Manager

工程经理

2+

2+

Introduction

介绍

Search underpins nearly every real-time experience at Uber: from matching riders and drivers, to fraud detection, to powering recommendations on Uber Eats. As these systems grew in traffic, payload size, and latency sensitivity, we hit a familiar industry limit: REST/JSON was no longer just slower—it was constraining how our search platform could evolve.

Search 支撑着 Uber 几乎所有的实时体验:从匹配乘客和司机,到欺诈检测,到为 Uber Eats 提供推荐。随着这些系统的流量、负载大小和延迟敏感性增长,我们遇到了一个熟悉的行业限制:REST/JSON 不再只是较慢——它限制了我们的搜索平台如何演进。

Internally, much of Uber’s infrastructure already communicates using gRPC*™* and Protobuf. These systems rely on strongly typed contracts, efficient binary serialization, and streaming-friendly transports. But OpenSearch, which Uber had standardized as the foundation for search and retrieval, historically exposed only REST/JSON APIs. Bridging these two worlds required translation layers that added latency, complexity, and operational risk.

在内部,Uber 的许多基础设施已经使用 gRPC*™* 和 Protobuf 进行通信。这些系统依赖于强类型合约、高效的二进制序列化以及适合流式的传输。但是,Uber 已将其标准化为 基础 的 OpenSearch,历史上仅暴露 REST/JSON API。桥接这两个世界需要添加延迟、复杂性和运营风险的转换层。

Rather than treating this mismatch as an integration problem, we approached it as an opportunity to advance Uber’s Search Platform and OpenSearch itself.

我们不是将这种不匹配视为集成问题,而是将其视为推进 Uber’s Search Platform 和 OpenSearch 本身的机会。

In this post, we’ll walk through why we introduced native gRPC endpoints in OpenSearch, how we designed them to coexist with REST, and what we learned after deploying them in production at Uber. We’ll also share the performance gains we observed, particularly for ingestion and vector search workloads, and how this work contributes back to the OpenSearch open-source ecosystem.

在本文中,我们将介绍为什么我们在 OpenSearch 中引入原生 gRPC 端点、我们如何设计它们与 REST 共存,以及在 Uber 生产环境中部署后我们学到了什么。我们还将分享我们观察到的性能提升,特别是针对摄取和向量搜索工作负载,以及这项工作如何回馈给 OpenSearch 开源生态系统。

Architecture

架构

We design...

开通本站会员,查看完整译文。

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-05-06 11:14
浙ICP备14020137号-1 $お客様$