读书笔记之<一> - - - Spark内置RPC框架

《Spark内核设计的艺术架构设计与实现----耿嘉安》读书笔记

Spark内置RPC框架


RPC框架的基本架构

在这里插入图片描述
TransportContext内部包含传输上下文的配置信息 TransportConf 和对客户端请求消息进行处理的RPCHandler
TransportConf在创建TransportClient和TransportServer时都是必需的,RpcHandler只用于创建TransportServer


Spark的RPC框架包含的各个组件

  • TransportContext:传输上下文,包含了用于创建传输服务端(TransportServer)和传输客户端工厂(TransportClientFactory)的上下文信息,并支持使用TransportChannelHandler设置Netty提供的SocketChannel的Pipeline的实现
  • RpcHandler:在调用传输客户端(TransportClient)的sendRPC方法发送的消息进行处理的程序
  • MessageEncoder:在将消息放入管道前,先对消息内容进行编码,防止管道另一端读取时丢包和解析错误
  • MessageEncoder:对从管道中读取的ByteBuf进行解析,防止丢包和解析错误
  • TransportFrameDecoder:对管道中读取的ByteBuf按照数据帧进行解析
  • RpcResponseCallback:RpcHandler对请求的消息处理完毕后进行回调的接口
  • TransportClientFactory:创建TransportClient的传输客户端工厂类
  • ClientPool:在两个对等节点间维护的关于TransportClient的池子。ClientPool是TransportClientFactory的内部组件
  • TransportClient:RPC框架的客户端,用于获取预先协商好的流中的连续块
  • TransportClientBootstrap:当服务端相应客户端连接时在客户端执行一次的引导程序
  • TransportRequestHandler:用于处理客户端的请求并在写完块数据后返回的处理程序
  • TransportResponseHandler:用于处理服务端的响应,并对发出请求的客户端进行响应的处理程序
  • TransportChannelHandler:代理由TransportRequestHandler处理的请求和由TransportResponseHandler处理的响应,并加入传输层的处理
  • TransportServerBootstrap:当客户端连接到服务端时在服务端执行一次的引导程序
  • TransportServer:RPC框架的服务端,提供高效的、低级别的流服务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值