`

RPC 框架的设计思路

阅读更多
看过Hessian的部分源码,这里总结一点RPC的设计思路。

RPC可以由下面两种思路来实现:
1. 基于HTTP协议来设计;
2. 基于TCP/IP来设计。

不管哪一种思路,本质都是一样的,下面就讲讲它们实现的思路。

1. 传输的内容是什么?
   一般而言,我们需要传输接口名,方法名,参数,而这些参数可以放在一个类中序列化进行传
   输。

2. 怎么调用呢?
   通过动态代理来完成,实现了InvocationHandler接口后,由代理的对象来调用方法,这样就
   进入到invoke方法里,invoke方法里面,我们可以通过网络向server端发送信息了。

3. 通信的载体是什么?
   是HTTP还是TCP/IP(socket)。

所以Server端的设计步骤如下:

1)开启socket的监听请求;
2)如果有请求,开启一个线程来处理;
3)读取会传输的信息(类名,方法名,参数);
4)通过反映来执行方法,并返回结果。


Client的设计步骤如下:

1)设计一个代理类来转发请求并接收执行结果;
2)绑定服务器端的地址并调用接口方法。
分享到:
评论

相关推荐

    基于Netty+Kyro+Zookeeper的RPC框架.zip

    **我们先从一个基本的 RPC 框架设计思路说起!** ### 一个基本的 RPC 框架设计思路 > **注意** :我们这里说的 RPC 框架指的是:可以让客户端直接调用服务端方法就像调用本地方法一样简单的框架,比如我前面介绍的...

    RPC设计思路图

    **自定义RPC框架的设计**: 1. **接口定义**:明确服务提供者和消费者之间的API。 2. **服务注册与发现**:设计服务注册表,使消费者能动态获取服务提供者的信息。 3. **网络通信**:实现高效稳定的网络通信层,如...

    rpc-framework:一个rpc框架演示

    设计思路一个基本的RPC框架设计思路架构一个最简单的RPC框架使用示意图如下图所示,这也是这个项目目前的架构:工作流程服务端将服务注册到注册中心并且在服务端监听客户端请求。客户端在消费中心拿到服务,远程调用...

    自定义rpc思路设计

    自定义rpc框架 ,用到了nettty zookeeper等等,模仿dubbo

    RPC 框架学习 好的参考学习

    QiuRPC是基于Java实现的一个轻量级RPC框架,其设计目标是简单易用,易于理解和扩展。下面将从几个关键组件来分析QiuRPC的实现原理: 1. **服务接口与实现**: - QiuRPC允许开发者定义服务接口,然后在服务提供者侧...

    手写RPC框架1

    RPC(Remote Procedure Call)框架是实现分布式系统的关键技术,它允许一个程序调用另一个位于不同网络节点上的程序,使得远程服务调用就像本地调用...理解并实现这些组件将有助于深入掌握RPC的工作原理和设计思路。

    手写RPC框架,说明:https://blog.csdn.net/lan861698789/article/details/103837228

    RPC(Remote Procedure Call)框架是分布式系统中的一种通信机制,允许一个程序调用另一个...在实现过程中,可以借鉴成熟RPC框架如Dubbo、gRPC的设计思路,结合Netty的高效网络通信能力,打造属于自己的轻量级RPC框架。

    RPC-DDSF:一种基于RPC的分布式数据共享框架.pdf

    文章进一步分析了在ONC RPC框架中影响数据共享性能的因素,并通过实验探究了不同参数设置下的ONC RPC性能表现。这些实验结果为框架的使用者提供了重要的指导信息,帮助他们在使用RPC-DDSF框架时能够调整参数以达到...

    Netty4.1实战-手写RPC框架.pdf

    #### 三、手写RPC框架设计与实现 本节将详细介绍如何通过三个章节逐步构建一个基础的RPC框架。 ##### 3.1 第一章:自定义配置XML - **目标**:定义一套自定义XML配置文件,以便更灵活地管理RPC服务的相关配置信息...

    如何用Netty写一个自己的RPC框架.pdf

    如何用Netty写一个自己的RPC框架.pdf 在这篇文章中,我们将讨论如何使用Netty...在这个文章中,我们只是简单地介绍了如何使用Netty来构建一个RPC框架的基本思路和步骤。实际实现中还需要考虑到许多其他的细节和问题。

    SRPC架构介绍 - Sogou基于Workflow的自研RPC框架 - 知.pdf

    SRPC架构介绍 - Sogou基于Workflow的自研RPC框架 SRPC架构是Sogou基于Workflow的自研RPC框架,具有高度的可扩展性和灵活性。SRPC架构由多个层级组成,包括用户代码、IDL序列化、数据组织、压缩、协议和通信等层级。...

    minidubbo:基于Netty的完整RPC框架

    总结,Minidubbo作为一个基于Netty的RPC框架,其设计思路清晰,易于理解和实践,特别适合初学者学习RPC原理。通过深入研究Minidubbo,开发者可以更好地掌握分布式系统的设计与实现,为未来的大型项目打下坚实的基础...

    java版飞机大战源码-RPC-FromScratch::rainbow:从零开始设计一个轻量级分布式RPC框架,基于Spring+Netty+Protost

    框架,内含详细设计思路以及开发教程,通过造轮子的方式来学习,深入理解 RPC 框架的底层原理。相比简历上一律的 xxxx 系统,造轮子很显然更能赢得面试官的青睐 :sparkling_heart: 当然,大家在实际项目中少造轮子,...

    自己设计一个简单的RPC组件1

    【标题】:自己设计一个简单...通过这个简单的RPC组件设计,可以深入理解RPC的基本工作原理,并为后续学习和使用复杂RPC框架(如Dubbo、gRPC等)打下基础。同时,掌握这些技术对于构建分布式系统和微服务架构至关重要。

    koalas-rpc v1.0.zip

    koalas-rpc可能被选为某位学生的毕业设计项目,其源代码和文档可能包含了详细的设计思路、实现方法和技术难点的解决策略。 计算机案例是学习和教学中常用的一种方式,它们展示了实际问题的解决方案。koalas-rpc作为...

    jdbc-driver-rpc,自实现的jdbc驱动,用于集成进mysql等框架.zip

    这一设计思路使得该驱动具有一定的通用性和可扩展性,能够适应多种数据库环境,尤其适合集成到如MySQL这样的框架中。 首先,让我们深入理解自定义JDBC驱动的工作原理。传统的JDBC驱动通常由数据库供应商提供,它们...

    Lnk-RPC使用文档1

    总的来说,Lnk-RPC是一个功能全面、设计灵活的RPC框架,它在保留MQ优点的同时,减轻了MQ带来的复杂性,提供了更高效的通信机制和丰富的服务治理功能,适用于需要高性能、可扩展和易于管理的分布式系统。

    面向嵌入式系统XML-RPC的C实现设计

    基于上述分析,本文提出的实现框架采用了模块化的设计思路,将复杂的XML-RPC功能分解为多个功能模块。每个模块负责一部分特定的功能,通过输入输出参数进行耦合,以减少模块间的耦合度,提高系统的可维护性和可扩展...

    物联网基础框架设计说明书.docx

    物联网基础框架设计说明书 本文档是关于物联网基础框架设计的说明书,旨在提供一套完整的解决方案,涵盖了多项目SaaS聚合、产品类似代理模式、本地内部以主体为单位进行租户隔离、多产品可以复用不用重复开发等功能...

    cpp-百度开源CRPC框架

    RPC框架允许程序在不同的进程中调用彼此的功能,就像调用本地函数一样简单,极大地简化了分布式系统之间的通信。在这个开源项目中,百度将他们的CRPC(Cross-platform Remote Procedure Call)设计思想和技术细节...

Global site tag (gtag.js) - Google Analytics