常用通讯协议比较

dubbo与http1.0的区别

  1. 二进制协议:Dubbo使用自定义的二进制协议,而HTTP 1.0使用文本,发送一条相同的消息,http1.0会有更大的网络开销。

  2. 连接复用:Dubbo采用单一的多路复用NIO长链接,每个请求都有一个对应的请求id,一个连接上可以进行多次并行处理请求和响应。HTTP 1.0默认情况下不支持长连接,每个请求都需要建立一个新的TCP连接,这会导致较高的连接建立和关闭开销,也无法并行处理请求。

  3. **无用的请求头:**HTTP1.x 协议中,多余无用的字符太多了,比如回车符、换行符,这每一个字符都会占用一个字节,这些字节占用了网络带宽,降低了网络IO 的效率,dubbo则要清爽许多。

triple 协议:

  1. triple协议基于的是HTTP2,rest协议目前基于的是HTTP1,都可以做到跨语言。
  2. triple协议兼容了gPRC(Triple服务可以直接调用gRPC服务,反过来也可以),rest协议不行
  3. triple协议支持流式调用,rest协议不行
  4. rest协议更方便浏览器、客户端直接调用,triple协议不行(原理上支持,当得对triple协议的底层实现比较熟悉才 行,得知道具体的请求头、请求体是怎么生成的)
  5. dubbo协议是Dubbo3.0之前的默认协议,triple协议是Dubbo3.0之后的默认协议,优先用Triple协议
  6. dubbo协议不是基于的HTTP,不够通用,triple协议底层基于HTTP所以更通用(比如跨语言、跨异构系统实现起 来比较方便)
  7. dubbo协议不支持流式调用
相关推荐
阿巴~阿巴~1 天前
自定义协议设计与实践:从协议必要性到JSON流式处理
服务器·网络·网络协议·json·操作系统·自定义协议
jinxinyuuuus1 天前
GTA 风格 AI 生成器:跨IP融合中的“视觉语义冲突”与风格适配损失
人工智能·网络协议
嵌入式-小王1 天前
每天掌握一个网络协议----ICMP
网络·网络协议·ping
Awkwardx1 天前
Linux网络编程—应用层协议HTTP
网络·网络协议·http
Running_slave1 天前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
无证驾驶梁嗖嗖2 天前
无需公网 IP,MongoDB 也能跨环境访问?试试这个实用方案
网络协议·tcp/ip·mongodb
Mu.3872 天前
计算机网络模型
网络·网络协议·计算机网络·安全·http·https
飞行增长手记2 天前
什么是高匿代理IP?安全吗?怎么选?
网络协议·tcp/ip·安全
上海云盾安全满满2 天前
高防 IP 是如何帮助数藏行业防刷
网络·网络协议·tcp/ip
吠品2 天前
免费SSL证书自动化申请:DNS代理验证
网络协议·自动化·ssl