From 87f97b8448f149e6733e8d80eee90d2375f95955 Mon Sep 17 00:00:00 2001 From: zeekling Date: Sat, 22 Apr 2023 23:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0rpc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++++-- source_code/Flink组件通信.md | 13 +++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b339ff1..4a2a3b3 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,8 @@ Flink SQL学习笔记提纲。持续更新。Hive SQL 离线Join VS Flink SQL 源码编译可以使用下面命令 ```sh -mvn install -DskipTests -Dfast -Dpmd.skip=true -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.compile.fork=true +mvn install -DskipTests -Dfast -Dpmd.skip=true -Dcheckstyle.skip=true \ +-Dmaven.javadoc.skip=true -Dmaven.compile.fork=true ``` @@ -63,5 +64,8 @@ https://packages.confluent.io/maven/io/confluent/kafka-schema-registry-client/7. ## 目录 - [作业提交流程](./source_code/作业提交.md) - +- [Flink组件间通信](./source_code/Flink组件通信.md) +- [per-job模式启动流程](./source_code/per-job启动.md) +- [yarn-application模式启动](./source_code/application启动.md) +- [yarn-session启动](./source_code/yarn-session启动.md) diff --git a/source_code/Flink组件通信.md b/source_code/Flink组件通信.md index 4ccd946..862d66a 100644 --- a/source_code/Flink组件通信.md +++ b/source_code/Flink组件通信.md @@ -4,3 +4,16 @@ ![Flink组件通信原理](https://pan.zeekling.cn/flink/akka/akka_actor.png) +## Akka总结 + +- ActorSystem 是管理 Actor生命周期的组件,Actor是负责进行通信的组 +- 每个 Actor 都有一个 MailBox,别的 Actor 发送给它的消息都首先储存在 MailBox 中,通过这种方式可以实现异步通信。 +- 每个Actor 是单线程的处理方式,不断的从 Mai1Box 拉取消息执行处理,所以对于Actor的消息处理,不适合调用会阻塞的处理方法。 +- Actor 可以改变他自身的状态,可以接收消息,也可以发送消息,还可以生成新的 Actor +- 每一个ActorSystem 和Actor都在启动的时候会给定一个 name.如果要从ActorSystem中,获取一个 Actor, +则通过以下的方式来进行 Actor的获取:`akka.tcp://asname@bigdata02:9527/user/actorname` +- 如果一个 Actor 要和另外一个 Actor进行通信,则必须先获取对方 Actor的 ActorRef 对象,然后通过该对象发送消息即可。 +- 通过 te11 发送异步消息,不接收响应,通过 ask 发送异步消息,得到 Future 返回,通过异步回到返回处理结果。 + + +