zoukankan      html  css  js  c++  java
  • netty实现的RPC框架

    自己手撸了一个nettyRPC框架,希望在这里给有兴趣的同学们做个参考。

    要想实现nettyrpc需要了解的技术要点如下:

    spring的自定义注解、spring的bean的有关初始化。

    反射和动态代理的使用。

    了解socket的使用。

    了解zookeeper的使用。

    了解nio原理。

    了解netty的基本操作。

    再了解了以上的技术要点后,就可以开始我们的自定义nettyrpc框架之旅了。

    没有操作过以上技术的同学也不用担心,我前面的几篇博客都是介绍这几个技术要点的,大家可以先去了解一下前面的技术再来构建框架。

    我把这几篇博客的代码和这次框架的源码都上传到了github上,全部封装在了一个项目里,大家可以克隆到自己的本地学习。

    github地址:   https://github.com/wenbingshen/nettyRpc

    在这里我不想讲很多的原理,需要学习框架原理的可以自己去查找相关的资料学习,我主要是给大家撸框架的代码实现帮助。

    首先我们的框架架构主要如下所示:

    client是rpc客户端的实现,这个是框架里的客户端实现,不是操作框架的客户端,大家一定要弄明白;common包主要是封装了一些常量;proxy包是代理和反射的使用;registry包是服务的注册和发现;server是服务端的实现;utils主要是编码和序列化有关的操作。

    框架开发完,我们完成调用框架的客户端和服务端的开发。

    RpcBootstrap启动服务器,ClientTest启动客户端

    服务端启动结果:

    客户端结果:

    对框架代码有不懂得,可以先去学习前面的几篇博客,源码都在github上有。

    github地址: https://github.com/wenbingshen/nettyRpc

  • 相关阅读:
    分块的一些题(入门)
    HH的项链
    2019 CCPC-Wannafly Winter Camp Div2 Day1
    2019 CCPC-Wannafly Winter Camp Div2 Day7
    HDU-5672 String(尺取)
    POJ-3104 Drying(二分
    Codeforces
    Java把内存划分为4个部分 1. 代码区 1、栈区 3、堆区 4、静态区域
    二:java语法基础:
    一:java概述:
  • 原文地址:https://www.cnblogs.com/wenbinshen/p/9926227.html
Copyright © 2011-2022 走看看