网易首页 > 网易号 > 正文 申请入驻

LinkedIn 解释为什么选择用 gRPC+Protobuf 替代 Rest.li+JSON

0
分享至


作者 | Rafal Gancarz

译者 | 明知山

策划 | 丁晓昀

LinkedIn 宣布将转向使用 gRPC 和 Protocol Buffers 作为其微服务平台的服务间通信,之前主要使用开源的 Rest.li 框架,以 JSON 作为主要的序列化格式。

InfoQ 采访了 LinkedIn 杰出工程师Karthik Ramgopal和首席工程师Min Chen,了解了这一决定背后的主要原因和动机。

InfoQ:放弃 REST 和 JSON 转而选择 gRPC 和 Protocol Buffers 的主要原因是什么?

Karthik Ramgopal/Min Chen:我们选择使用 gRPC 替换当前的 REST 框架 Rest.li, 主要基于以下原因:

  • 优越的功能——gRPC 是一个功能强大的框架,支持一些高级功能,如双向流、流量控制和截止时间,而这些是 Rest.li 不支持的。

  • 效率——gRPC 也是一个高效的框架,其实现中融入了性能优化,比如完全异步非阻塞绑定和先进的线程模型。我们通过合成基准测试以及并行运行 gRPC 和 Rest.li 服务验证了这一点。

  • 多语言支持——Rest.li 主要用 Java 实现,对其他编程语言支持不全或者根本不支持。gRPC 对多种编程语言提供了高质量的支持,考虑到 LinkedIn 的底层支持需求,这一点很重要。

除了这些原因,gRPC 背后还有一个庞大而活跃的开源社区,并在行业中得到了广泛应用。Rest.li 虽然是开源的,但主要由 LinkedIn 参与贡献,主要使用者也是 LinkedIn。

InfoQ:你们之前在 Rest.li 框架中采用 Protocol Buffers 作为序列化格式。你们从中学到了什么?还评估了哪些其他的序列化格式?

Karthik Ramgopal:我们已经在博文中详细介绍了这些,我们的主要收获是了解到,从 JSON 转换为 Protobuf 可以在大规模场景下显著降低延迟并提高吞吐量。除了 Protobuf 外,我们还评估了 CBOR、MessagePack、SMILE)、Avro、Kryo、Flatbuffers 和 Cap’n’Proto 等其他序列化格式。最终我们选择了 Protobuf,因为它在运行时性能(延迟、数据量大小、吞吐量)、开发者体验(IDE 编写、模式验证、注解支持等)、以及多语言 / 环境支持方面提供了最佳的平衡。

InfoQ:你们在 Rest.li GitHub 页面** 宣布该框架将不再继续开发并将被弃用。你们对当前框架的用户有什么建议?

Karthik Ramgopal/Min Chen:考虑迁移到 gRPC。如果需要迁移指南,请通过 LinkedIn 联系我们。

InfoQ:你们在博文中提到一些服务的延迟改善达到了 60%。你们能否提供更详尽的细节?

Karthik Ramgopal:延迟的改善主要来自于更小的数据载荷和序列化 / 反序列减少对 CPU 时间的占用。60% 这个数字是针对具有非常大且复杂数据载荷的服务,在这些服务中,这些成本是导致延迟的主要因素。我们还注意到使用 Protobuf 时,许多服务的尾部延迟(p95/p99)也有了显著改善,主要是因为减少了垃圾回收。

InfoQ:你们也提到 LinkedIn 目前在生产环境中有超过 50000 个 Rest.li 端点。这是一个惊人的数字,你么能解释一下为设么有这么多端点吗?

Karthik Ramgopal:作为最大的专业人脉网络之一,我们有着复杂的“经济图谱”实体。其中,我们的企业业务(如 Recruiter、LinkedIn Learning、Sales Navigator 等)拥有各自的实体。另外,我们还有内部应用程序、工具系统等。此外,我们通常采用三层架构,包括 BFF(Backend For Frontend)、中间层和后端。我们鼓励采用基于 CRUD 的建模方式,使用规范化实体进行标准化建模。在过去的 10 年中,所有这些用例都是通过 Rest.li 进行建模的,这解释了为什么会有那么多端点。

InfoQ:采用 gRPC+Protobuf 的主要目标 / 原因是什么?LinkedIn 是否正在进行或计划开展其他支持类似目标的项目?

Karthik Ramgopal/Min Chen:采用 gRPC+Protobuf 的原因与我们选择 gRPC+Protobuf 而不是 REST+JSON 的目标保持一致。

我们正在将所有有状态存储和流式处理系统从 Avro 迁移到 Protobuf。我们也在将一些通用基础设施功能(如授权、调用追踪、日志记录等)从 Java 库移至 Sidecar,并通过 UDS(Unix Domain Socket)提供 gRPC API,以降低多语言支持的成本。我们还在改进我们的内部服务发现和负载均衡器,采用工业标准的 xDS 协议,以适配 gRPC xDS SDK 和 Envoy Sidecar。

查看英文原文

https://www.infoq.com/news/2023/12/linkedin-grpc-protobuf-rest-json/

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

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
完了!范明主持《星光大道》引起强烈争议!网友:你赶紧下课吧!

完了!范明主持《星光大道》引起强烈争议!网友:你赶紧下课吧!

娱乐白名单
2024-06-28 15:11:53
见解独到!面对18强国足分组对手,专业人士孙继海发表不同看法

见解独到!面对18强国足分组对手,专业人士孙继海发表不同看法

百里无心
2024-06-28 07:45:01
卡卡晒合影感谢“弗格森先生”评论区纷纷纠正应该称“爵士”

卡卡晒合影感谢“弗格森先生”评论区纷纷纠正应该称“爵士”

直播吧
2024-06-28 02:14:12
中国孕妇被泰国机场扣留7小时,只因在飞机上要热水泡面?!

中国孕妇被泰国机场扣留7小时,只因在飞机上要热水泡面?!

新加坡万事通
2024-06-27 20:17:46
7月吃这个素馅儿饺子,给钱都不换,当菜又当药,全身都是宝!

7月吃这个素馅儿饺子,给钱都不换,当菜又当药,全身都是宝!

美食达人计划
2024-06-28 09:32:06
若是房子坚持不降价,而购房人却又坚决不买房,最终结果如何?

若是房子坚持不降价,而购房人却又坚决不买房,最终结果如何?

平说财经
2024-06-04 11:55:40
曝独行侠与波普相互有意 但掘金不愿与其先签后换

曝独行侠与波普相互有意 但掘金不愿与其先签后换

北青网-北京青年报
2024-06-28 17:49:13
三大消息:大战已不可避免?外交部发声哀悼!菲律宾这次真闹大了

三大消息:大战已不可避免?外交部发声哀悼!菲律宾这次真闹大了

战域笔墨
2024-06-27 18:21:28
中纪委怒批高校四大官僚主义!

中纪委怒批高校四大官僚主义!

华人星光
2024-06-28 16:01:07
澳媒:澳大利亚再度被分到死亡之组,同组5个对手都颇具实力

澳媒:澳大利亚再度被分到死亡之组,同组5个对手都颇具实力

直播吧
2024-06-28 09:29:04
暴雨!暴雨!突然来袭!厦门预警连发!

暴雨!暴雨!突然来袭!厦门预警连发!

鲁中晨报
2024-06-28 15:03:23
鸿蒙 PC 版来了,界面曝光!

鸿蒙 PC 版来了,界面曝光!

果粉俱乐部
2024-06-28 12:21:04
伊朗举行新一届总统大选

伊朗举行新一届总统大选

北青网-北京青年报
2024-06-28 13:45:03
贵州蛇羹店每份卖8万,却天天卖断货,配方曝光后客人崩溃

贵州蛇羹店每份卖8万,却天天卖断货,配方曝光后客人崩溃

纸鸢奇谭
2024-06-25 23:12:11
A股:再传喜讯!下周一扶摇直上突破3100点,下周开门红有望了

A股:再传喜讯!下周一扶摇直上突破3100点,下周开门红有望了

一丛深色花儿
2024-06-28 16:52:19
连时间地点都被中国知道了!这次南海电子战,美国输得很彻底!

连时间地点都被中国知道了!这次南海电子战,美国输得很彻底!

青年的背包
2024-06-28 14:08:58
安徽毛坦厂中学!高考复读生人挤人报名!知情人:每年都是这样

安徽毛坦厂中学!高考复读生人挤人报名!知情人:每年都是这样

叹为观止易
2024-06-28 14:24:03
女生举报学院书记性骚扰后续:4名老师被处分

女生举报学院书记性骚扰后续:4名老师被处分

鲁中晨报
2024-06-28 11:55:04
每人两颗共重1克拉,北京科技大学这个研究室为毕业生送钻石

每人两颗共重1克拉,北京科技大学这个研究室为毕业生送钻石

新京报
2024-06-27 14:21:57
李邑飞任宁夏回族自治区党委书记

李邑飞任宁夏回族自治区党委书记

极目新闻
2024-06-28 13:45:30
2024-06-28 18:02:44
InfoQ
InfoQ
有内容的技术社区媒体
9940文章数 50276关注度
往期回顾 全部

科技要闻

售价近三万,苹果Vision Pro中国首销

头条要闻

培植个人势力、大搞新型腐败 "新疆虎"李鹏新被逮捕

头条要闻

培植个人势力、大搞新型腐败 "新疆虎"李鹏新被逮捕

体育要闻

哪有什么死亡之组?踢就完了!

娱乐要闻

黄一鸣曝光王思聪聊天内容

财经要闻

A股上半年人均亏损1.2万 中证2000跌23%

汽车要闻

你没看错!广汽丰田今天秀了一把智电技术

态度原创

健康
本地
数码
亲子
军事航空

人类为何至今无法攻克渐冻症?

本地新闻

冷知识:东北雪糕才是最早的网红雪糕

数码要闻

苹果寻求三星/LG技术支持 确保Vision Pro核心配件供应

亲子要闻

撸串要推头的坎儿怕是过不去了,哈哈哈~

军事要闻

“环太平洋2024”多国联合演习开幕 中国专家解读

无障碍浏览 进入关怀版