手写一个RPC框架
文章平均质量分 94
手写一个RPC框架,基于
https://github.com/he2121/MyRPCFromZero
锥栗
这个作者很懒,什么都没留下…
展开
-
【手写一个RPC框架】simpleRPC-07
负载均衡(Load Balancing)是在多台服务器之间分配网络负载,以提高系统的整体性能、可用性和可靠性,避免任何单一资源过载,确保所有资源能够有效地处理请求,并提供一致的服务质量。在simpleRPC-07中,我们为注册的服务接口提供一个负载均衡模块,分散流量:负载均衡器接收来自客户端的请求,并根据预定义的策略将这些请求分散到后端的一组服务器上。这可以防止任何单个服务器因请求过多而变得过载。高可用性:通过在多台服务器之间分配负载,负载均衡可以提高系统的可用性。原创 2022-01-04 10:09:34 · 1696 阅读 · 0 评论 -
【手写一个RPC框架】simpleRPC-06
本次改进我们将引入zookeeper作为RPC框架的注册中心,服务端在zookeeper上注册自己的服务,而客户端调用服务,回去zookeeper上根据服务名寻找调用的服务器地址,使得我们RPC支持集群调度通信的能力。...原创 2022-01-02 20:52:24 · 3584 阅读 · 3 评论 -
【手写一个RPC框架】simpleRPC-05
序列化(Serialization)是一种将对象的状态信息转换为可以存储或传输的格式的过程。在序列化过程中,对象的所有必要数据(包括其属性值和可能包含的其他对象)被转化为一种字节流或文本格式。序列化是为了方便数据的持久化,保存到磁盘或数据库中,或在网络上传输对象。通过序列化,复杂的对象结构可以被压缩成一种便于传输或存储的形式,然后再在需要的时候通过反序列化过程恢复成原始的对象状态。本次改进主要针对序列化的方式进行改进。之前一直在使用java自带的序列化方式,或者是netty的序列化方式,性能不高。原创 2021-12-30 17:27:25 · 678 阅读 · 0 评论 -
【手写一个RPC框架】simpleRPC-04
之前谈到,网络传输使用BIO的方式,我们在simpleRPC-04改为NIO来传输,引入netty的编解码方式。我们在simpleRPC-04中将使用netty来优化我们的客户端client和服务端server,注:Netty 是一个高性能、异步事件驱动的网络应用程序框架,主要用于Java和JVM-based的应用程序Netty的主要特点优势:异步非阻塞I/O:Netty基于Java NIO(Non-blocking I/O)实现,能够处理大量的并发连接,提高系统性能和可扩展性。原创 2021-12-28 20:41:31 · 587 阅读 · 0 评论 -
【手写一个RPC框架】simpleRPC-03
前言我们将新写一个服务接口:通过某个id查询blog信息我们本次改进希望重构服务端server的代码,使得server可以容纳多个service接口的调用。我们将为此通过HashMap构建一个service的映射关系。另外原来的server处理请求是用BIO的监听,捕获消息之后直接new一个线程来处理,我们这里将使用一个线程池来代替直接new 一个线程,实现线程的有效管理。实现项目创建我们创建一个名为 simpleRPC-03 的module:依赖配置跟simpleRPC-02一样:po原创 2021-12-24 11:36:27 · 821 阅读 · 0 评论 -
【手写一个RPC框架】simpleRPC-02
在simpleRPC-01中,我们实现了仅仅能用的RPC,但是调用只能调用server中某一个确定的方法,如果有很多方法需要调用怎么办?因此需要把调用请求抽象出来,记为RPCRequest。同样的,调用的返回对象也需要解耦,我们不需要知道对象是User还是其他。我们把调用返回抽象出来,记为RPCResponse。我们不希望每次调用都要重新写host,port和调用方法,因此也需要抽象。...原创 2021-12-20 16:30:46 · 650 阅读 · 0 评论 -
【手写一个RPC框架】序章 simpleRPC-01
序章RPC(RemoteProcedureCall)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。在本模块中,我们试图实现client通过指定id,通过RPC框架,从server拿到id对应的User对象信息。本项目实现参考自MyRPCFromZero环境JDK.原创 2021-12-18 17:05:20 · 1048 阅读 · 0 评论