在阅读 Flink 源码过程中,如果你见到有这种类型的代码,其实就是在发送 RPC 请求
// resourceManagerGateway 就可以理解成: 当前节点中,对于 ResourceManager 代理对象的封
装
resourceManagerGateway.requestSlot();
// 代码跳转到:resourceManager.requestSlot();
总结: Flink 中的 Endpoint ,在作用上,等同于 Akka 中的 Actor
阅读源码的准备
1、技术组件的大致工作原理
2、选择版本
3、搭建源码阅读的环境
4、场景驱动:脚本分析
Flink RPC 底层实现:Akka
Flink 的 RPC 实现:基于 Scala 的网络编程库:Akka。Akka 的特点总结:
1、它是对并发模型进行了更高的抽象;
2、它是异步、非阻塞、高性能的事件驱动编程模型;
3、它是轻量级事件处理(1GB 内存可容纳百万级别个 Actor);
几个储备知识:关于对 Akka 的 ActorSystem 和 Actor 的理解:
1、ActorSystem 是管理