美文网首页
搭建一个简易rpc框架的思路

搭建一个简易rpc框架的思路

作者: nhhnhh | 来源:发表于2020-04-25 16:22 被阅读0次

rpc是什么

rpc全名是Remote Procedure Call。意思就是远程接口调用。一般用于我们的分布式系统中,从系统A调用系统B的一个接口。可能你有个疑问,从系统A调用一个系统B的接口,我们平常使用http请求,或者webservice都可以调到系统B的接口。但是这种方式的调用,我们都需要写一份建立http请求的代码。一般的rpc框架,需要做到的是调用远程的服务跟调用本地的服务一样。
比如系统B有如下接口:

public interface HelloService {

    public String sayHello(String name);
}

然后系统B的实现是:

public class HelloServiceImpl implements HelloService {
    public String sayHello(String name) {
        return "Hello " + name;
    }
}

如果我们在系统B调用这个类的这个方法。我们一般会这么写

 HelloService helloService = new HelloService();
System.out.println(helloService.sayHello("123"));

rpc框架,所需要达到的效果,就是想让你在系统A中也能使用类似上述的方式来进行调用系统B的接口,即能类似调用本地方法的方式来调用远程方法

实现一个rpc需要什么

1.首先需要有服务的提供方provider吧
2.然后要有服务的调用方comusmer吧
3.consumer要知道对应的provider在哪里,那就需要一个注册中心吧,从这个注册中心可以找到provider
4.有了注册中心,可能同一个服务有好几个服务器提供,那consumer需要选择哪个服务器进行服务调用,这就是负载均衡,所以也还要有一个负载均衡的算法
5.调用的协议要有把,http协议,netty啥的?
6.网络间传输需要序列化吧,序列化可以使用jdk默认的序列化方式。
7.上述的从注册中心发现服务,然后使用负载均衡算法选择其中的一个服务器进行调用,再选择对应的网络传输协议,再使用对应的序列化方式。这些我们进行服务调用的时候希望使用上述的方式来调用,那调用的HelloService肯定是一个代理对象,这个代理对象里封装了上面的所有的操作。

按照上面的逻辑,可以自己搭建一个简易的rpc框架。
依照上述逻辑写了一个rpc的demo:https://github.com/nanjunbo/rpcDemo
更复杂的可以去看下dubbo的逻辑,他分了10层服务。扩展性很好,每一层都可以单独抽出来供更上层调用。

相关文章

  • 搭建一个简易rpc框架的思路

    rpc是什么 rpc全名是Remote Procedure Call。意思就是远程接口调用。一般用于我们的分布式系...

  • RPC框架的最简单实现

    一个最简单的RPC框架实现包含暴露服务、引用服务、Socket通讯三部分。 RPC框架简易实现 public cl...

  • RPC框架的最简单实现

    一个最简单的RPC框架实现包含暴露服务、引用服务、Socket通讯三部分。 RPC框架简易实现 接口 接口实现 服...

  • 堡垒机

    目录 一、堡垒机介绍二、搭建简易堡垒机思路三、搭建简易堡垒机 - 安装jailkit实现chroot四、搭建简易堡...

  • RPC框架和简易RPC实现

    项目背景 中途加入一个团队,团队实现一个私有化的分布式服务,因为是私有化,不用大规模集群,服务已经有个简易RPC,...

  • 0528--RPC简易实现

    RPC 主要实现远程过程调用 一、实现思路 二、简易实现 RPCServer 接口 RPCServerImpl 实...

  • RPC通信的序列化方式选型

    背景 上一篇已经介绍了定制了一个建议的RPC框架:简易RPC实现,之前的实现方式是Fastjson,但是为了进一步...

  • SwiftUI3.0简易微博框架搭建

    SwiftUI3.0简易微博框架搭建 V 结构体

  • 一个简易的RPC框架(一)

    前段时间开始接触阿里开源的一个RPC框架--dubbo,公司里面大部分应用都是分布式的,也基本上都使用了du...

  • 使用Netty搭建Dubbo

    前言 Dubbo是基于Netty搭建的RPC框架,为了更好地理解Netty在Dubbo中的应用,仿照Dubbo搭建...

网友评论

      本文标题:搭建一个简易rpc框架的思路

      本文链接:https://www.haomeiwen.com/subject/psysihtx.html