分布式的几件小事(三)dubbo的通信协议与序列化

本文详细介绍了Dubbo的通信协议,包括dubbo、RMI、Hessian、Http、WebService和Thrift协议,分析了各自的连接方式、传输协议、适用场景和性能特点。此外,还探讨了Dubbo的序列化方式,如Hessian、Java二进制、Json和SOAP文本序列化,强调了默认的Hessian Lite序列化的优点和不足。
摘要由CSDN通过智能技术生成

1.dubbo的通信协议

①dubbo协议
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
特点

  • dubbo缺省协议,使用的是基于netty+hessian的tbremoting交互。
  • 连接个数:单连接。
  • 连接方式:长连接。
  • 传输协议:TCP。
  • 传输方式:NIO异步传输。
  • 使用范围:传入传出数据包较小,消费者数据比提供者多,单一消费者无法压满提供者,尽量不要用来传输超大数据。
  • 使用场景:常规远程服务方法调用。

为什么要消费者比提供者个数多:
因dubbo协议采用单一长连接,
假设网络为千兆网卡(1024Mbit=128MByte),
根据测试经验数据每条连接最多只能压满7MByte(不同的环境可能不一样,供参考),
理论上1个服务提供者需要20个服务消费者才能压满网卡。

为什么不能传大包:
因dubbo协议采用单一长连接,
如果每次请求的数据包大小为500KByte,假设网络为千兆网卡(1024Mbit=128MByte),每条连接最大7MByte(不同的环境可能不一样,供参考),
单个服务提供者的TPS(每秒处理事务数)最大为:128MByte / 500KByte = 262。
单个消费者调用单个服务提供者的TPS(每秒处理事务数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值