【自己动手实现一个简单的RPC框架】4、[v2.0]利用Netty传输数据;利用Kryo实现序列化

本文学习的代码地址:https://github.com/Snailclimb/guide-rpc-framework
本文代码地址:https://gitee.com/uamaa/msc-rpc-framework

【前言】本文主要实现了如下改进:
1.利用Netty传输数据
2.利用Kyro实现序列化

0 查看代码有哪些改动

新创建了例子客户端与服务器,跟之前的大差不差,
旧例子的RpcClient和RpcServer变成SocketRpcClient和SocketRpcServer,
新例子用的NettyRpcClient和NettyRpcServer

在这里插入图片描述
这里变了一点,我觉得这样更合理,代理和地址没得关系的
在这里插入图片描述
加了一个序列化异常类
在这里插入图片描述
加了序列化模块
在这里插入图片描述
加了Netty传输模块

1 看懂代码

本次版本改进就是引入了Kryo和Netty,Kryo服务于Netty,所以我们先看Kryo模块,再看Netty模块。

1.1 Kryo

在这里插入图片描述
先定义了一个序列化接口,声明序列化与反序列化方法
然后KryoSerializer实现该接口类
这么做的好处是:接口只负责提出需求,具体的实现需要具体的实现类来做,可能这一版用的是Kryo来实现。下一版又引入了新的技术,只需要新建新技术的实现类就行了,方便程序扩展

官方文档: https://github.com/EsotericSoftware/kryo
文档里提供了快速入门的简单例子

public class TestKryo {
   
    static public void main (String[] args) throws Exception {
   
        Kryo kryo = new Kryo();
        kryo.register(SomeClass.class);

        SomeClass object = new SomeClass();
        object.value = "Hello Kryo!";

        Output output = new Output(new FileOutputStream
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值