美文网首页
Spark-通信架构

Spark-通信架构

作者: 布莱安托 | 来源:发表于2020-07-07 14:47 被阅读0次

Spark 2.x版本使用Netty通讯框架作为内部通讯组间。Spark基于Netty新的RPC框架借鉴了Akka中的设计,基于Actor模型。

Spark通讯框架中各个组件(Client/Master/Worker)可以认为是一个个独立的实体,各个实体之间通过消息来进行通信。

Endpoint(Client/Master/Worker)有1个InBox和多个OutBox(数量取决于当前Endpoint与多少其他Endpoint通信),Endpoint接收到的消息被写入InBox,发送出去的消息写入OutBox并被发送到其他Endpoint的InBox中。

Spark通讯框架解析

Spark通讯架构由以下几方面组成:

  1. RpcEndpoint:RPC端点,Spark针对每个节点(Client/Master/Worker)都称之为一个RPC端点,且都实现RpcEndpoint接口,内部根据不同端点的需求,设计不同的消息和不同的业务处理,ruguoxuyaofasong泽地阿瞳Dispatcher
  2. RpcEnv:RPC上下文环境,每个RPC端点运行时以来的上下文环境称为RpcEnv
  3. Dispatcher:消息分发器,针对于RPC端点需要发送消息或者从远程RPC接收到的消息,分发至对应的指令收件箱/发件箱。如果指令接收方是自己则存入收件箱,否则放入发件箱
  4. InBox:指令消息收件箱,一个本地RpcEndpoint对应一个收件箱,Dispatcher在每次向InBox存入消息时,都将对应的EndpointData加入内部ReceiverQueue中,另外Dispatcher创建时会启动一个单独线程进行轮询ReceiverQueue,进行收件箱消息消费
  5. RpcEndpointRef:RpcEndpointRef是对远程RpcEndpoint的一个引用。当我们需要一个具体的RpcEndpoint发送消息时,一般我们需要获取到该RpcEndpoint的引用,然后通过该应用发送消息
  6. OutBox:指令消息收件箱,对于当前RpcEndpoint来说,一个目标RcEndpoint对应一个发件箱,如果向多个目标RpcEndpoint发送信息,则有多个OutBox。当消息放入OutBox后,紧接着通过TransportClient将消息发送出去。消息放入发件箱以及发送过程是在同一个线程中进行
  7. RpcAddress:表示远程的RpcEndpointRef的地址
  8. TransportClient:Netty通信客户端,一个OutBox对应一个TransportClient,TransportClient不断轮询OutBox,根据OutBox消息的Receiver信息,请求对应的TransportServer
  9. TransportServer:Netty通信服务端,一个RpcEndpoint对应一个TransportServer,接受远程消息后调用Dispatcher分发消息至对应收发件箱

相关文章

  • Spark-通信架构

    Spark 2.x版本使用Netty通讯框架作为内部通讯组间。Spark基于Netty新的RPC框架借鉴了Akka...

  • 通信架构

    . 通信架构通信架构图

  • Android系列-Binder机制

    Binder 通信架构简介 Binder 采用 C/S 架构,是 Android 提供的一种通信机制,通过 Ser...

  • spark-天池O2O竞赛

    地址转移到 : spark-天池O2O竞赛

  • 目录

    能用图形解决的,尽量不要用文字 操作系统 Linux架构 通信系统 通信架构 HttpHttp协议Http压力测试...

  • 转: 架构设计:系统间通信——ActiveMQ的安装与使用

    1、前言 之前我们通过两篇文章(架构设计:系统间通信(19)——MQ:消息协议(上)、架构设计:系统间通信(20)...

  • Hive 入门

    Hive官网 Hive概述 Hive 的底层执行引擎有 :MapReduce,Tez,Spark- Hive on...

  • docker各模块架构

    docker总体架构 总架构 DockerClient 简介与Docker Daemon建立通信的最佳途径通过cl...

  • Dubbo

    1、系统间通信 无论是soa(面向服务架构)还是分布式架构,每个独立的业务之间都需要系统间通信。比如实现商品列表查...

  • APP社交类项目设计之六ANDROID前台架构及通信介绍

    前台安卓功能采用了MVP架构,与后台通信使用了当前主流的RetrofitManager网络通信插件,底层通信过程...

网友评论

      本文标题:Spark-通信架构

      本文链接:https://www.haomeiwen.com/subject/odigqktx.html