为了充分理解以Actor为基础的响应式框架实现,以zio-actors项目为蓝本,实现自己的actor库。
核心思想概括为以下三点:
以上一个Actor的内部结构,Actor运行在ActorSystem环境中,而ActorSystem可以存在很多个(一个进程、多个进程都可以)。
spark-rpc这个是Spark内部对Actor原理的实现。
对比项 | zio-actor | spark-rpc |
---|---|---|
网络层 | zio-nio | netty |
队列 | ZIO#Queue | java.util.LinkedList |
执行器 | ZIO#Fiber | 线程池 |
异步 | ZIO#Promise | Future |