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。处理从服务端返回的消息。

  • 相关阅读:
    Java数据库操作(MySQL与SQLserver)
    LeetCode 11. 盛最多水的容器
    LeetCode 10.正则表达式匹配
    LeetCode 9.回文数
    LeetCode 7. 整数反转
    LeetCode 6.Z 字形变换
    LeetCode 4.寻找两个正序数组的中位数
    LeetCode 3. 无重复字符的最长子串
    JOI2020遗迹
    线性规划对偶
  • 原文地址:https://www.cnblogs.com/langfanyun/p/10055643.html
Copyright © 2011-2022 走看看