Actor system(Akka) in Flink

一、概述

Flink's distributed execution consists of two important processes, master and worker. When a Flink program is executed, various processes take part in the execution, namely Job Manager, Task Manager, and Job Client.

image.png

Flink程序需要提交给Job Client。然后,Job Client将作业提交给Job Manager。Job Manager负责协调资源分配和作业执行。它首先要做的是分配所需的资源。资源分配完成后,任务将提交给相应的Task Manager。当接收到任务时, Task Manager启动一个线程以开始执行。执行到位时,Task Manager会继续向Job Manager报告状态更改。可以有各种状态,例如开始执行,正在进行或已完成。作业执行完成后,结果将发送回客户端。

二、Job Manager

  • The master processes, also known as Job Managers, coordinate and manage the execution of the program. Their main responsibilities include scheduling tasks, managing checkpoints, failure recovery, and so on.
  • There can be many Masters running in parallel and sharing these responsibilities. This helps in achieving high availability. One of the masters needs to be the leader. If the leader node goes down, the master node (standby) will be elected as leader.
  • The Job Manager consists of the following important components:
    • 1、Actor system
    • 2、Scheduler
    • 3、Check pointing
  • Flink internally uses the Akka actor system for communication between the Job Managers and the Task Managers.

2.1: Actor system(参与者系统)

  • An actor system is a container of actors with various roles. It provides services such as scheduling, configuration, logging, and so on. It also contains a thread pool from where all actors are initiated. All actors reside in a hierarchy. Each newly created actor would be assigned to a parent. Actors talk to each other using a messaging system. Each actor has its own mailbox from where it reads all the messages. If the actors are local, the messages are shared through shared memory but if the actors are remote then messages are passed thought RPC calls.

Actor system是具有各种角色的actor的容器。它提供诸如调度,配置,日志记录等服务。它还包含一个启动所有actor的线程池。所有actors都位于层次结构中。每个新创建的actor都将分配给父级。actor使用消息传递系统相互交谈。每个actor都有自己的邮箱,从中读取所有邮件。如果actor是本地的,则消息通过共享内存共享,但如果actor是远程的,则通过RPC调用传递消息。

  • Each parent is responsible for the supervision of its children. If any error happens with the children, the parent gets notified. If an actor can solve its own problem then it can restart its children. If it cannot solve the problem then it can escalate the issue to its own parent:

每位家长负责监督其子女。如果children发生任何错误,父母会收到通知。如果actor可以解决自己的问题,那么它可以重新启动它的子节点。如果它无法解决问题,那么它可以将问题升级到自己的父级:


Actor system in Flink
  • In Flink, an actor is a container having state and behavior. An actor's thread sequentially keeps on processing the messages it will receive in its mailbox. The state and the behavior are determined by the message it has received.

在Flink中,actor是具有状态和行为的容器。 actor的线程依次持续处理它将在其邮箱中接收的消息。其状态和行为由它收到的消息决定。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,424评论 0 10
  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    网事_79a3阅读 12,230评论 3 20
  • 我就想知道会是怎样的留言. 翻来覆去睡不着,打开微信翻来翻去的看着通讯录里所有的联系人 突然间发现其实自己...
    板栗妞阅读 315评论 0 0
  • 奇怪的小三天,盯着手机电视,心里已然无感,可能是因为他对我一直就是冷冷的,所以我并没有特别想他或是想要联系的冲动吧...
    灭绝小妮阅读 287评论 0 0
  • 森蝶老师『英阅会』 成长的足迹 (2018.4.6-4.7)day6^day7 给大宝和二宝粗略做个计划,但并不完...
    尐肚兜阅读 241评论 0 0