注:翻译自aeron cookbook
概述(Overview)
Aeron 能以可预测的延迟跨进程或网络边界高效复制有序的日志缓冲区,Aeron API 提供三个主要交互点 - Media Driver, Publications 和 Subscriptions。
Media Driver目前支持UDP和IPC传输,如果必要的驱动程序和硬件可供使用,则 UDP 套接字交互协议可以转移到 Open Onload。
除核心 IPC 和 UDP 功能外,Aeron 还提供以下功能:
- Aeron Archive 为数据流提供磁盘备份存储;
- Aeron 集群允许开发人员构建基于 RAFT 协议的容错服务;
架构(Architecture)
Media Driver和 Aeron 客户端API构成了 Aeron 的核心。
Aeron Archive 和 Aeron Cluster 添加了额外的组件,详见 Archive overview 和 Cluster overview
注:图片遮住部分为Volatile Fields & Queues
总结
- 需要基于Aeron做研究和开发,建议提前阅读Unix网络编程,可具备一定网络理论基础
- Aeron的核心通信组件为Media Driver,因此需要提前编译构建,可参考其他几篇blog
- Media Driver主要支持通信协议为UDP和IPC,若想玩儿TCP,netty是一个非常棒的框架