zoukankan      html  css  js  c++  java
  • Spark 中的 RPC 的几个类

    Spark 中 RPC 部分的涉及了几个类,有点晕,在此记录一下

    1. RpcEndpoint: RPC的一个端点。给定了相应消息的触发函数。保证  `onStart`, `receive` and `onStop` 函数按顺序触发。

    2. RpcEndpointRef: 一个远程的 RpcEndpoint

    3. RpcEnv: RPC的环境。 RpcEndpoint 需要用一个名字在 RpcEnv 进行注册用于接收消息。RpcEnv 将处理从 RpcEndpointRef 或远程发来的消息,然后发送给相应的 RpcEndpoint 。

    4. RpcAddress : 用主机+端口表示的一个 Rpc 地址。

    5. Dispatcher: 消息收发者, 负责把消息路由给相应的 RPC 端点。

    6. RpcEndpointVerifier : 验证 RpcEnv 中某个 RpcEndpoint 是否存在的 RpcEndpoint。

    7. Inbox : 为一个 RpcEndpoint 存储消息并发送给这个 RpcEndpoint 的信箱

    8. NettyRpcHandler: 把收到的 Rpc 消息分发给在 RpcEnv 注册过的 RpcEndpoint(通过 Dispatcher)。会保持所有与之通信的客户端。此类 NettyRpcEnv.scala 中。

    9. TransportServer:高效的、底层流服务。此类中会真正启动 Netty 的服务端

    10. TransportContext:包含了用于创建 TransportServer 和 TransportClientFactory的上下文,并且用于设置 Netty 的 Channel pipelines。

    11. TransportRequestHandler: 注册在 Netty channel 上的  handler。处理从客户端发来的请求。

    12. TransportResponseHandler: 注册在 Netty channel 上的 handler。处理从服务端返回的消息。

  • 相关阅读:
    synchronized 关键字
    synchronized 关键字
    Linux IPC之共享内存
    链表的插入、删除
    链式队列的实现
    链栈的实现
    双色、三色排序问题
    memmove、memcpy、strcpy、memset的实现
    字符串中去掉多余的空格
    华为机试:从一个数组中选取不同的数(均小于10)组成一个最大的三位数
  • 原文地址:https://www.cnblogs.com/langfanyun/p/10055643.html
Copyright © 2011-2022 走看看