知识卡片
Actor模型与Flink主从进程通信
内容
Actor模型是一种并发模型:系统中的线程或进程被抽象成一个个Actor,Actor之间只通过消息传递通信,不共享内存状态。Flink的Client(提交/取消作业)、JobManager(主节点,负责调度)、TaskManager(从节点,负责执行)三者是各自独立的JVM进程,彼此基于Actor System通过消息传递完成协作:Client提交Job后,JobManager把状态更新、统计和结果信息发回Client。值得注意的是Client并不属于Flink运行时框架本身,只是准备和提交作业的入口。这种”进程隔离+消息传递”的设计让主从节点可以独立失败、独立重启,而不会因为共享状态被互相污染,是分布式系统里规避共享内存并发问题的常见思路。
参考来源
《Flink入门与实战》第2章《定义、架构与原理》