Akka|Introduction
基本概念
Actor 模型
AKKA 中核心在于其 Actor 模型
如果说并发编程的概念中,线程是最小执行单元;那么在 AKKA 中,Actor 才是最小的执行单元
在Actor模型中并不是通过Actor对象的某个方法来告诉Actor需要做什么,而是给Actor发送一条消息,消息传递的方式是异步的
Actor 在收到消息的时候会做三种操作:
- 发送有限个消息给其他 Actor
- 创建有限个 子Actor
- 指定下一条消息的接收行为
在 AKKA 的模型概念中,Actor彼此之间直接发送消息,不需要经过什么中介,消息是异步发送和处理
在Actor模型中一切都是Actor,所有逻辑或模块都可以看成是Actor,通过不同Actor之间的消息传递实现模块之间的通信和交互。
抽象属性
Actor是由状态(state)、行为(behavior)、邮箱(mailbox)三者组成的
- 状态(state):状态是指actor对象的变量信息,状态由actor自身管理,避免并发环境下的锁和内存原子性等问题
- 行为(behavior):行为指定的是actor中计算逻辑,通过actor接收到的消息来改变actor的状态
- 邮箱(mailbox):邮箱是actor之间的通信桥梁,邮箱内部通过FIFO消息队列来存储发送发消息,而接收方则从邮箱中获取消息。
消息处理方式
即使是在分布式系统中,一个 Actor 同时也只能处理一条消息,如果要实现并发处理多条消息,则需要创建多个 Actor
Akka|Introduction
http://example.com/2024/09/30/Akka-Introduction/