当前位置: 首页 > news >正文

【HDFS】Hadoop-RPC:客户端侧通过Client.Connection#sendRpcRequest方法发送RPC序列化数据

org.apache.hadoop.ipc.Client.Connection#sendRpcRequest
这个方法是客户端侧向服务端发送RPC请求的地方。调用点是Client#call方法过来的。

此方法代码注释里描述了一个细节:这个向服务端发送RPC请求数据的过程并不是由Connection线程发送的,而是其他的线程(sendParamsExecutor这个线程池)。

sendRpcRequest方法的逻辑如下:
1、把参数Call序列化到一个buffer里。这个过程是caller线程做的;
2、提交发送序列化数据buffer到服务端的任务
3、调用get方法阻塞式等待发送RPC请求完成。

    /** Initiates a rpc call by sending the rpc request to the remote server.* Note: this is not called from the Connection thread, but by other* threads.* @param call - the rpc request*/public void sendRpcRequest(final Call call)
http://www.lryc.cn/news/159823.html

相关文章:

  • Java基于 SpringBoot 的车辆充电桩系统
  • excel表导出
  • YOLOv8 快速入门
  • HJ48 从单向链表中删除指定值的节点
  • Java缓存理解
  • MHA高可用及故障切换
  • 1000元订金?华为折叠屏手机MateX5今日开始预订,售价尚未公布
  • Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用
  • 手写Mybatis:第10章-使用策略模式,调用参数处理器
  • pair 是 C++ 标准库中的一个模板类,用于存储两个对象的组合
  • More Effective C++学习笔记(5)
  • SpringMVC之CRUD(直接让你迅速完成部署)
  • Github Copilot连接不上服务器
  • (数字图像处理MATLAB+Python)第十二章图像编码-第三、四节:有损编码和JPEG
  • 基于SpringBoot + Vue的项目整合WebSocket的入门教程
  • AI智能机器人的语音识别是如何实现的 ?
  • RabbitMQ: 死信队列
  • 232 - Crossword Answers (UVA)
  • MySQL表结构设计规范
  • 如何利用ProcessOn 做资产管理流程图
  • geopandas 笔记:geometry上的操作汇总
  • 【MongoDB】Ubuntu22.04 下安装 MongoDB | 用户权限认证 | skynet.db.mongo 模块使用
  • Python对象序列化
  • jmeter 准确的吞吐量定时器 Precise Throughput Timer
  • 后端/DFT/ATPG/PCB/SignOff设计常用工具/操作/流程及一些文件类型
  • jvm 程序计算器 程序计数器是否溢出 程序计数器是做什么的 java程序计数器会内存溢出吗 程序计数器作用与用处 jvm内存模型 jvm合集(一)
  • 关于近期小程序测试的常见漏洞演示
  • 磐基2.0部署apisix集群
  • Python requests爬虫豆瓣图片返回数据为空。
  • 【Spring事务的实现原理】