1.RPC框架的简单实现(参考dubbo框架的基本原理)

前段时间读了读dubbo框架的源码,粗略的读了暴露服务和引用服务的具体实现,dubbo是一个成熟的rpc框架,里面的功能点和配置很多,了解整个dubbo的代码实现细节的话还真得需要不少时间。为了更快的理解dubbo,参考dubbo的基本原理,自己写了一个简单的RPC框架,实现了远程方法的调用。


dubbo框架用到的技术点

  1. 1、provider,consumer的配置写在了spring的配置文件中,使用了自己的命名空间dubbo:xx,这里使用的是spring的schema扩展
  2. 2、 服务端和客户端通信直接用的TCP协议,异步非阻塞IO,使用的netty框架
  3. 3、涉及到点到点socket通信,对象在网络上传输就要用到序列化工具
  4. 4、客户端只有接口类,那注入到自己业务类中的dubbo服务bean如何实例化的,这里需要根据接口类生成一个代理类,客户端注入的bean是代理类。这里要用到Java的字节码技术,使用javassist框架

因此,要写一个简单的rpc框架需要用到的工具有:netty通信框架,序列化框架,javassist字节码框架,序列化我用的jboss的marshalling框架,maven依赖如下:

<dependencies>
    <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.20.0-GA</version>
    </dependency>
    <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.1.14.Final</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.marshalling</groupId>
        <artifactId>jboss-marshalling-serial</artifactId>
        <version>1.3.19.GA</version>
    </dependency>
</dependencies>

建好一个新的项目,添加上面3个maven依赖,然后就可以写自己的rpc框架了,既然模仿的dubbo框架,那这个domo rpc就叫 “ldubbo”了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值