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/
作者
Noctis64
发布于
2024年9月30日
许可协议