dubbo rpc序列化

序列化配置

provider

xml 复制代码
<dubbo:service interface="com.example.DemoService" serialization="hessian2" ref="demoService"/>

consumer

xml 复制代码
<dubbo:reference id="demoService" interface="com.example.DemoService" serialization="hessian2"/>

上述配置中,服务端和消费端serialization属性指定了序列化方式为Hessian2。同样,你可以根据需要选择其他的序列化方式。

需要注意的是,序列化方式的选择应该与服务提供者和消费者之间的兼容性相匹配。如果服务提供者和消费者使用的序列化方式不一致,可能会导致通信失败。因此,在选择序列化方式时,应确保服务提供者和消费者都支持所选的序列化方式。

常用类型

1、Hessian2序列化:Hessian是一种跨语言的高效二进制序列化方式。Dubbo默认启用的序列化方式是阿里修改过的Hessian Lite,而不是原生的Hessian2序列化。
2、Fastjson序列化:Dubbo目前有两种实现,一种是采用的阿里的fastjson库,另一种是采用dubbo中自已实现的简单json库,一般情况下,json这种文本序列化性能不如二进制序列化。
3、Kryo依赖于字节码生成机制(底层使用了ASM库),因此在序列化速度上有一定的优势,但正因如此,其使用也只能限制在基于JVM的语言上其序列化的结果是二进制的byte[],因此像Redis这样可以存储二进制数据的存储引擎可以直接将Kryo序列化出来的数据存进去。

为了避免出现rpc调用出现序列化问题、尽量服务端和消费端使用相同的序列化方式

注意

1、rpc相关的类必须实现 Serializable 接口

2、服务端和消费端使用相同的序列化方式并保持版本一致

Kryo使用

1、添加依赖

xml 复制代码
        <dependency>
			<groupId>com.esotericsoftware</groupId>
			<artifactId>kryo</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>de.javakaffee</groupId>
			<artifactId>kryo-serializers</artifactId>
			<version>0.42</version>
			<exclusions>
				<exclusion>
					<groupId>com.esotericsoftware</groupId>
					<artifactId>kryo</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

2、使用springboot项目在配置文件添加如下配置指定序列化方式

dubbo.protocol.serialization=kryo

其他方式大同小异。
参考官网: https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/serialization/

相关推荐
北京耐用通信5 分钟前
调试复杂、适配难?耐达讯自动化Ethercat转Devicenet让继电器通讯少走弯路
人工智能·物联网·网络协议·自动化·信息与通信
lx1885486989644 分钟前
HTTPS总结
服务器·网络协议·https
2501_915106321 小时前
App HTTPS 抓包实战解析,从代理调试到真实网络流量观察的完整抓包思路
网络协议·http·ios·小程序·https·uni-app·iphone
武子康2 小时前
Java-194 RabbitMQ 分布式通信怎么选:SOA/Dubbo、微服务 OpenFeign、同步重试与 MQ 异步可靠性落地
大数据·分布式·微服务·消息队列·rabbitmq·dubbo·异步
北京耐用通信2 小时前
协议翻译大师:耐达讯自动化EtherCAT转Devicenet,电动缸的‘毫秒级指令执行专家’
人工智能·物联网·网络协议·自动化·信息与通信
老蒋新思维3 小时前
创客匠人峰会深度解析:知识变现的 “IP 资产化” 革命 —— 从 “运营流量” 到 “沉淀资产” 的长期增长逻辑
大数据·人工智能·网络协议·tcp/ip·创始人ip·创客匠人·知识变现
老蒋新思维3 小时前
创客匠人峰会洞察:IP 信任为基,AI 效率为翼,知识变现的可持续增长模型
大数据·网络·人工智能·网络协议·tcp/ip·创始人ip·创客匠人
老蒋新思维3 小时前
创客匠人峰会新洞察:AI 时代创始人 IP 的生态位战略 —— 小众赛道如何靠 “精准卡位” 实现千万知识变现
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
Arwen3033 小时前
内网IP证书:安全加密全指南
网络·网络协议·tcp/ip·ssl
虎皮辣椒小怪兽3 小时前
网络层协议及IP编址
网络·网络协议