Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

changzhiwin/zio-actor

Repository files navigation

目的

为了充分理解以Actor为基础的响应式框架实现,以zio-actors项目为蓝本,实现自己的actor库。

设计实现

核心思想概括为以下三点:

  • 队列消除同步等待
  • 独立线程执行对消息的处理,ZIO中使用Fiber
  • 对状态的改变,封装在Actor内部;外部无法直接访问 how actor work

以上一个Actor的内部结构,Actor运行在ActorSystem环境中,而ActorSystem可以存在很多个(一个进程、多个进程都可以)。 actor system

对比Spark中Actor实现

spark-rpc这个是Spark内部对Actor原理的实现。

对比项 zio-actor spark-rpc
网络层 zio-nio netty
队列 ZIO#Queue java.util.LinkedList
执行器 ZIO#Fiber 线程池
异步 ZIO#Promise Future

About

A practice of actor pattern with ZIO.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /