Redian新闻
>
LinkedIn采用协议缓冲区进行微服务集成,将延迟降低了60%

LinkedIn采用协议缓冲区进行微服务集成,将延迟降低了60%

公众号新闻

作者 | Rafal Gancarz
译者 | 马可薇
策划 | Tina

领英采用协议缓冲区(Protocol Buffers),以实现其各类平台中更为高效的微服务间数据传递,并将其与开源框架 Rest.li 相集成。在全公司范围的推广完成后,领英将延迟降低了 60% 的同时,也提高了资源的利用率。

领英平台所采用的是微服务架构,而多年以来,JSON 一直都是领英在微服务暴露的五万余 API 节点中所使用的序列化格式。为帮助团队在服务间构建一致性交互,领英创建并开源了一款名为 Rest.li 的 Java 框架。

该框架可用于创建使用 REST 通信风格的服务器和客户端,并抽象网络、序列化、服务发现等数据交换的诸多方面。Rest.li 框架主要支持 Java 和 Python,但也可与 Scala、Kotlin、JavaScript、Go 等语言协同运作。

Rest.li 服务器和客户端之间的数据流和控制流(来源:Rest.li 文档)

Rest.li 的默认序列化格式为 JSON,这种格式支持多款语言且易于人类阅读,后者虽然好处甚多,但却给性能(尤其是延迟)方面带来了许多问题。

领英工程师 Karthik Ramgopal 和 Aman Gupta 分享了在使用 JSON 进行服务间通信所要面临的挑战:

第一个挑战在于,JSON 作为一款文本格式往往过于冗长,从而导致网络带宽的使用和延迟增加,效果并不理想。(……)我们所面临的第二个挑战则在于,JSON 的文本性质会导致序列化和反序列化的延迟和吞吐量均不甚理想。

领英团队一直在寻求 JSON 的替代方案,一款负载大小紧凑、系列化效率高,可减少延迟并提升吞吐量的方案。他们同时也希望这款方案不会限制所支持的语言栈数量,并能通过将这个新的序列化机制集成至 Rest.li 从而实现逐步迁移。最后,经过全面的思考,领英决定采用在各项考量中综合得分最高的协议缓冲区(Protobuf)。

将协议缓冲区集成到 Rest.li 中的主要困难在于 PDL,一个基于框架的自定义模式定义系统的动态模式生成。这套解决方案中需生成一个用于动态生成 Protobuf 模式定义的符号表,但根据客户端类型的不同,符号表的交付方式也会有所不同。后端客户端按需获取并缓存符号表,而网页或移动端应用的符号表则在构建时生成,且其中包含版本号依赖关系。

在对框架进行修改之后,领英团队通过 HTTP 头逐步对客户端进行重新配置,以 Protobuf 替代 JSON。采用协议缓冲区后,响应的吞吐量平均提高了 6.25%,请求的吞吐量平均提高了 1.77%。领英团队同样发现对大型负载而言,延迟降低了 60%。

JSON 和 Protobuf 的延迟比较(来源:领英将协议缓冲与 Rest.li 集成以提高微服务性能)

根据对协议缓冲区的采用所得来的经验,领英团队计划后续将 Rest.li 迁移至 gRPC。gRPC 同样使用协议缓冲区,并额外支持流式传输,其背后还有一个庞大社区的支持。

具体请见 InfoQ 博客:API 间的对决:REST vs. GraphQL vs. gRPC:该用哪一种?(https://www.infoq.com/podcasts/api-showdown-rest-graphql-grpc/

英文原文:

LinkedIn Adopts Protocol Buffers for Microservices Integration and Reduces Latency by up to 60%(https://www.infoq.com/news/2023/07/linkedin-protocol-buffers-restli/)

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

今日好文推荐

C# 和 TypeScript 之父亲自带队开源 TypeChat,又一 AI 技术瓶颈被攻破?

终于找到 ChatGPT “智商”下降的原因了!OpenAI 侧面回应,GPT 可能真被你们玩坏了?

微信取消秋招;谷歌软件工程师基本年薪超 500 万;通报批评员工到点下班?比亚迪回应 | Q资讯

十年磨砺,持续闯入“无人区”,这家公司如何做好金融科技?

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
用手术机器人进行微创心脏瓣膜手术,这家公司B轮融资3140万美元百集视频专题《大话集成电路》第三章:集成电路的基础工艺好消息!本周起,境外银行卡可进行微信支付微信将支持绑定海外信用卡进行微信支付【史高100k开卡奖励,消费要求降低】Chase 商业卡 – Chase Ink Preferred【老键曲库】Hans Zimmer - Time (Remix)未尽的遗憾和完美的自然直角独家入驻黄石内小木屋!黄石大峡谷豪华7日游,旧金山湾区进出,一路遍览美西10大奇景你好,我是筚(bì)篥( lì)!8点1氪:机票燃油附加费将大幅上调;小红书回应“旅游搭子”被指涉黄传言;浙江查获日本核辐射地区进口食品战地恋情(一)如何高效实现文件传输:小文件采用零拷贝、大文件采用异步io+直接io中国科学技术大学向南师附中发来录取喜报&晓庄校区进入装饰装修阶段纽约客沸腾了!7月开始,可以用境外银行卡进行微信支付啦,但是...坚持喝酸奶的男性,这种癌症风险降低了26%;50多万人研究发现:“微胖”的人更长寿?|本周值得读人多好办事吗?六月上海二手房成交又降低了一些毛军发院士 | 从集成电路到集成系统跟着重点校老师要求的改错思路,我女儿错题率居然降低了(明10点返团)好消息!7月开始,可以用境外银行卡进行微信支付啦,但是...查了下2015年以来中国大陆对日德韩台制造业发达地区进出口变化,发现台湾成了唯一的存在【应用引领集成电路产业高质量发展】第三届中国集成电路设计创新大会暨无锡IC应用博览会(ICDIA 2023)7月即将在无锡召开突发!ChatGPT 紧急暂停 Bing 集成,下线搜索功能波士顿科学与先瑞达医疗签署合作框架协议及服务框架协议且随诗吟:《五月》by 星如雨达拉斯批准禁止在单户住宅小区进行短期出租的新规定一文教你分清持续集成,持续交付,持续部署再加息?加拿大人太能“消费”了,央行7月将出手!国内稳定缓冲已提高50个基点,只因债务过高...银行机密文件泄露!澳洲这些地区进“黑名单”,贷款条件更为严格礼来与Precision修订协议,降低里程碑付款,将更多参与临床前工作特别策划 | ​安东油田服务集团董事会主席、执行董事罗林:启动平台创新,赋能行业生态各方旅游|独家入驻黄石内小木屋!黄石大峡谷豪华7日游,旧金山湾区进出,一路遍览美西10大奇景从单体到微服务的系统改造:采用事件驱动架构优化会员系统Falcon-7B大型语言模型在心理健康对话数据集上使用QLoRA进行微调回国消费更便利!本周起,境外银行卡可进行微信支付
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。