接上文
0. 简介
最近我们用 Aeron 实现了 Mesh agent 与 sdk 之间的共享内存通信,但是在使用过程中越来越感觉到 Aeron 框架太重了,其中很大部分功能完全用不到,有些想要自定义的逻辑很难在现有框架中实现。所以我们计划深入到 Aeron 源码中,看看它是如何实现的,最终尝试实现一个轻量的 Mesh 共享内存通信类库。再回过头来看一下这张架构图:
Media Driver 组件负责管理数据通过媒介(UDP 或 IPC)的发送与接收。其中的 Sender 和 Receiver 负责数据的发送与接收,Driver Conductor 接收 Aeron Client 的命令,协调 Media Driver 的动作。本文将分析一下 Driver Conductor 的实现,以及与 Client Conductor 的交互逻辑。
1. Driver Conductor 主干逻辑
Driver Conductor 的逻辑封装在io.aeron.driver.DriverConductor类中,该类是一个org.agro