• hdfs源码分析之RPC


    要了解Hadoop的消息通信机制先得了解下java的动态代理

    这是一个装饰模式,用动态代理实现的,用静态工场生成被代理的具体实现类。这里是集合Set的代理。

    定义泛型方法时必须在前面加一个<T>,来声明这是一个泛型方法,持有一个泛型T,然后才能用泛型T作为函数返回值。

    InvocationHandler接口是用来拦截代理对象的方法调用的

    接下来是代理对象的具体使用

    可见使用代理对象后,对set进行了功能升级(包装模式),通过拦截代理对象的方法,完成打日志的功能

    今天先写到这里,晚上有空的话在写吧,RPC是Hadoop通信核心,底层是通过动态代理来实现的,不过被代理的对象的具体实现类可能是在远程虚拟机中,类容很多,慢慢分析吧

    花了好长时间理顺了RPC的调用时序图

    整个调用过程是通过平时如何完成ls命令为线索分析的。核心类是RPC的两个内部类Client和Server,通信就是基于tcpip的socket咯,调用就是基于server端的java的反射咯

  • 相关阅读:
    11.菜单(一)
    线性表之顺序存储详解
    SVN 撤回已提交的代码
    线性表1
    顶层父类
    异常类之派生类
    new和delete重载
    异常类之基类
    Qt中多线程问题
    智能指针实例
  • 原文地址:https://www.cnblogs.com/smilefish/p/4324166.html
Copyright © 2020-2023  润新知