基于 Aeron 的高性能 Actor / Channel Runtime,面向游戏与金融场景,强调确定性、可复现、低延迟抖动和高可推理性。
- 时间为第一公民 (Epoch-driven)
- Actor 状态封闭、顺序执行
- Channel 提供确定性消息传递
- ECS(Entity-Component-System)用于 CPU 热路径优化
- Epoch: 明确的逻辑时间区间,消息按 Epoch 分类与处理
- Actor: 固定线程、Epoch 内顺序执行,状态在边界可见
- Channel: 消息入队,不立即触发执行;结合 Epoch 保持确定性
- ECS: 数据布局优化 CPU cache,支撑批处理更新
- 适合:单分区/单写权威逻辑、帧同步/强实时对抗、顺序状态机类撮合与风控
- 不适合:通用分布式 Actor 平台、跨分区全局强序、强依赖外部非确定性
| Language | Version | Build | Coverage |
|---|---|---|---|
| C++17 | |||
| Java 17 | |||
| .NET 8.0 | |||
| Go 1.24 | |||
| Node.js 22 | |||
| Python 3.12 |
每次主分支更新与每日定时会生成 nightly 产物,统一发布在 GitHub Releases:
https://github.com/cuihairu/epoch/releases/tag/nightly
产物示例(按语言):
- native:
epoch-native-<os>.tar.gz(包含epoch_aeron+ 头文件) - C++:
epoch-cpp-<os>.tar.gz(包含libepoch_cpp.a/epoch_cpp.lib+ headers) - Java:
epoch-java.tar.gz(jar) - .NET:
epoch-dotnet.tar.gz(nupkg) - Go:
epoch-go-<os>-<arch>.tar.gz(静态库) - Node.js:
epoch-node.tar.gz(npm pack) - Python:
epoch-python.tar.gz(sdist + wheel)
- 概念与设计:
docs/guide/concepts.md - 行为与一致性:
docs/guide/behavior.md - 协议与传输:
docs/guide/protocol.md - 语言实现:
docs/guide/languages.md - 设计文档(完整):
docs/guide/epoch-actor-design.md - 站点文档(VuePress v2):
docs/
corepack enable
pnpm install
pnpm run docs:dev./native/build.sh非 Java 语言默认从 native/build 加载 epoch_aeron,或通过 EPOCH_AERON_LIBRARY 指定路径。