news 2026/5/15 1:43:23

rpc和http的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
rpc和http的区别

grpc和http的区别

协议层面

  • http是应用层协议,每次携带大量头部字段,包括connection、host、user-agent、cookie等
  • rpc通常用自定义二进制格式,头部极小,具体看 gRPC 数据包传输格式解析

序列化层面

  • http常用json,字段名重复、解析慢
  • rpc常用protobuf,只传字段编号+值,体积小5-10倍,解析快10倍

连接层面

  • http/1.1 keep-alive可以复用连接,但是串行化,有队头阻塞的问题
  • grpc用http/2,支持tcp长连接+多路复用(一条连接并发多个请求)

对比

性能对比(同一个请求): HTTP+JSON: 请求: POST /api/users/getUser HTTP/1.1 Host: user-service Content-Type: application/json Content-Length: 16 Cookie: session=xxx {"userId": 123} 请求大小: ~200字节(头部占80%!) 序列化: JSON.stringify → O(N)字符处理 HTTP/2+gRPC+Protobuf: HTTP/2 DATA Frame 9B Frame Header Length: 3B Type: 1B Flags: 1B R + Stream Identifier: 4B Payload: gRPC Message Compressed Flag: 1B Message Length: 4B Protobuf Body: N Bytes 请求大小: ~15字节(含HTTP/2帧头) 序列化: protobuf编码 → O(1)单字段,整体O(N)但极快 性能差距: 序列化速度: Protobuf比JSON快5-10x 数据体积: Protobuf比JSON小3-5x 网络延迟: 减少60-80% QPS: gRPC比HTTP+JSON高2-5x(同等硬件) HTTP/2 多路复用: HTTP/1.1: 请求1发 → 等响应1 → 请求2发(队头阻塞) HTTP/2: 请求1发 → 请求2发 → 请求3发 → 响应乱序到达 (stream ID区分,同一TCP连接) → gRPC天然基于HTTP/2
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 1:38:03

EAGLE-3:大模型推理加速的新范式

一、背景:为什么需要 EAGLE-3?大语言模型(LLM)的自回归生成方式存在一个根本瓶颈:每次只能生成一个 token。对于一个 70B 参数的模型,这意味着每次前向传播都要从 HBM 加载约 60GB 的权重,却只产…

作者头像 李华
网站建设 2026/5/15 1:36:07

2026年可载人变形机甲机器人 MOSFET深度选型方案

前言:从人形机器人迈向“可载人机甲”时代2026年,机器人产业正在从传统工业机械臂、人形机器人,进一步向“可载人变形机甲机器人”方向演进。随着高功率密度电驱系统、AI实时运动控制、轻量化复合材料以及高能量密度电池平台的发展&#xff0…

作者头像 李华
网站建设 2026/5/15 1:34:17

算法备案安全自评估报告

一、算法基本情况本次备案算法名称为[算法具体名称],属于[算法类别,如推荐算法、预测算法、决策算法等],应用于[具体业务场景,如平台内容分发、用户风险评估、业务流程优化等]。算法开发及运维主体为[主体名称],开发完…

作者头像 李华
网站建设 2026/5/15 1:33:38

串口数据监控软件开发总结

1.飞控发送太快,串口传输太慢,导致大量数据包粘包,残包,丢失 本次针对串口数据解析,就使用了一个1k的buf作为缓冲,用递归函数解包,打包。线程只做读取,单独开子线程处理数据。 2套半…

作者头像 李华
网站建设 2026/5/15 1:30:03

BMS算法工程师学习路线完整指南

目标薪资:30-45万/年 企业 岗位名称 薪资范围 核心要求 双非难度 宁德时代 BMS算法工程师 28-42万 EKF/UKF+机器学习+大数据+功能安全 ⭐⭐⭐⭐⭐ 特斯拉中国 BMS嵌入式工程师 30-45万 C/C++嵌入式+SOC/SOH+电池老化模型+英语 ⭐⭐⭐⭐ 阳光电源 BMS算法工程师 30-38万 MBD+SO…

作者头像 李华
网站建设 2026/5/15 1:28:04

基于DevContainer的Laravel开箱即用开发环境配置指南

1. 项目概述:为什么我们需要一个开箱即用的 Laravel 开发容器?如果你和我一样,常年混迹在 PHP 和 Laravel 社区,肯定经历过无数次“新项目环境搭建”的折磨。从安装 PHP 版本、配置 Composer、设置 Nginx 或 Apache,到…

作者头像 李华