手写RPC框架
文章平均质量分 95
自己手写一款RPC框架
涛歌依旧fly
计算机研究生,专注于Java后端技术学习。
——勇敢地奔跑
展开
-
基于ZooKeeper为注册中心实现的RPC
基于ZooKeeper为注册中心实现的RPC一、原理一个能够动态注册和获取服务信息的地方,来统一管理服务名称和其对应的服务器列表信息,称之为服务配置中心。如图所示服务提供在启动时,将其提供的服务名称、服务器地址注册到服务配置中心服务消费者通过服务配置中心来获得需要调用的服务的机器列表,通过相应的负载均衡算法,选取其中一台服务器进行调用当服务器宕机或者下线时,相应的机器需要能够动态地从服务配置中心里面移除,并通知相应地服务消费者二、统一配置管理主要把服务名以及服务相关的服务器IP地址注册转载 2022-05-24 16:21:51 · 497 阅读 · 0 评论 -
基于Netty实现的RPC(版本二笔记)
基于Netty实现的RPC(版本二笔记)网络传输从BIO到NIO,序列化要减少字节流长度,提高序列化反序列化的效率一、Netty服务端和客户端1、服务端server1.1 NettyServer服务端接收客户端的RpcRquest请求,其中执行链中添加了对应的处理器,分别是编码器、拆包器、解码器、客户端处理器编码器(对象 -> 字节数组 -> ByteBuf(自定义协议)):发送RpcResponse响应对象,经过CommonEncoder编码按照自定义协议编码成ByteBu转载 2022-05-24 16:20:14 · 179 阅读 · 0 评论 -
基于BIO实现的RPC
基于BIO实现的RPCJava BIO + JDK原生序列化 + JDK动态代理实现代码实现1、rpc-api存放服务接口1.1 服务接口public interface BlogService { Blog getBlogById(Integer id);}public interface UserService { // 客户端通过这个接口调用服务端的实现类 User getUserByUserId(Integer id); // 给这个服务增加一个功能 Intege转载 2022-05-24 16:18:42 · 102 阅读 · 0 评论 -
几种常用序列化框架
序列化与反序列化是我们日常数据持久化和网络传输中经常使用的技术,但是目前各种序列化框架让人眼花缭乱,不清楚什么场景到底采用哪种序列化框架。本文会将业界开源的序列化框架进行对比测试,分别从通用性、易用性、可扩展性、性能和数据类型与Java语法支持五方面给出对比测试。原创 2022-05-20 17:21:44 · 1626 阅读 · 0 评论 -
【RPC项目-理论篇】
本篇文章参考来源:【RPC】 ---- RPC入门了解 & 最简单的RPC的实现理论知识1、什么是RPC?RPC(Remote Procedure Call),远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。通俗点:就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据2、为什么使用RPC1.可以做到分布式,现代化的微服务原创 2022-05-20 15:24:18 · 1458 阅读 · 1 评论