RPC框架
文章平均质量分 64
造火箭的小伙
知道的越多,不知道的越多。
展开
-
RPC框架实战之手写RPC框架 第四章 个人总结复习
第四章增加Kryo序列化器,上一章中使用JSON序列化器有一个问题,就是如果反序列化的是对象中有Object类型的属性,反序列化会出错,通常会把Object属性直接反序列化为String类型,因此还需要其他参数辅助序列化,并且JSON序列化器是基于字符串(JSON串)的,占用空间大并且速度慢。Kryo是一个快速高效的Java对象序列化器,特点就是高性能、高效、易用。它是基于字节的序列化,对空间利用率高,在网络传输时可以减小体积,并且在序列化时记录属性对象的类型信息,因此在反序列化时不会出现类型错误的情况原创 2022-02-24 11:15:25 · 1512 阅读 · 0 评论 -
RPC框架实战之手写RPC框架 第三章 个人总结复习
第三章使用Netty传输数据,使用效率更高的Nio方式传输数据,因为原先使用的是传统BIO方式,现在为了支持Netty方式,需要抽象出接口,增加扩展性,这样也满足了设计模式六大原则中的依赖倒置原则。抽象为接口RpcServer和RpcClient抽象为接口NettyServer实现RpcServer,NettyClient实现RpcClientpublic interface RpcClient{ Object sendRequest(RpcRequest rpcRequest);}原创 2022-02-24 11:14:19 · 791 阅读 · 0 评论 -
RPC框架实战之手写RPC框架 第二章 个人总结复习
第二章第一章中我们的服务端测试代码中只能注册一个服务,这一章对其进行优化,可以注册多个服务。服务注册表首先需要一个注册表来存放注册的服务,并且可以返回需要的服务实例。package com.lany.rpc.registry;/** * @author liuyanyan * @date 2021/12/22 14:10 */public interface RpcRegistry { <T> void register(T service); Object原创 2022-01-15 16:35:38 · 1793 阅读 · 0 评论 -
RPC框架实战之手写RPC框架 第一章 个人总结复习
第一章第一部分首先实现简单的RPC远程通信,流程如下:客户端调用接口的方法,通过代理将要调用的方法信息传输给服务端服务端通过socket监听,当接收到数据后,就创建一个线程去执行通过客户端传输过来的数据反射找到对应的方法,并执行获取到对应的数据将数据封装进response中返回给客户端客户端收到数据后打印。因为是简单的实现,因此直接指定了服务端的地址,后续会进行优化完善。让我们开始吧!项目的整体模块如下:myrpcrpc-api:接口相关的类rpc-common:通用模块,例原创 2022-01-12 15:12:08 · 1900 阅读 · 0 评论 -
netty之Tomcat
netty之Tomcat创建一个Tomcat,使用原生api手写一个简单的Tomcat服务器,需要的东西有:request和response,分别处理请求和响应,当用户发送http请求时,request负责接收发送过来的请求体,然后进行解析,调用对应的servlet进行业务处理,然后通过response响应给客户端。首先需要定义一个servlet负责处理get请求或post 请求。用户通过创建servlet继承我们提供的servlet来自定义自己的方法,执行自己的业务逻辑还需要创建request原创 2021-12-24 22:30:40 · 261 阅读 · 0 评论