对比
dora 1.0 有哪些新功能
dora 1.0 是一次重大发布,在 dora 的零拷贝内核之上新增了生产级功能:Service、Action、Streaming 通信模式, 容错、集群管理、录制/回放、动态拓扑和全面的可观测性。
功能
完整功能矩阵
| 维度 | dora 1.0 | dora 0.x | ROS2 |
|---|---|---|---|
| 协调器协议 | WebSocket (端口 6013) | TCP | DDS |
| 数据平面 | Zenoh SHM + 共享内存 | 仅共享内存 | DDS 序列化 |
| 通信模式 | 4 种 (Topic, Service, Action, Streaming) | 1 种 (仅 Topic) | 4 种 (Topic, Service, Action, Timer) |
| 延迟 (SHM) | ~500us p50 | ~500us p50 | 1-10ms |
| 拷贝开销 | 零 (Apache Arrow) | 零 (Apache Arrow) | CDR 序列化 |
| 容错 | 内置(重启策略、健康检查、熔断器) | 无 | 基础生命周期 |
| 录制/回放 | 内置 (.dora 文件) | 无 | rosbag2 |
| 动态拓扑 | 支持(运行时添加/移除/连接/断开) | 不支持 | 部分(生命周期节点) |
| 集群管理 | 内置 SSH 集群 + 标签调度 | 无 | 手动或外部工具 |
| 可观测性 | OpenTelemetry(日志、指标、追踪) | 基础日志 | ROS2 日志 + 第三方 |
| 实时支持 | SCHED_FIFO + mlockall + CPU 亲和 | 无 | rclcpp Executor(部分) |
| 源文件数 | 772 | 488 | ~50,000+ |
升级
从 dora 0.x 升级
发布/订阅向后兼容
现有基于 Topic 的数据流只需最小改动即可运行。核心发布/订阅模型相同,YAML 数据流定义遵循相同结构,现有的 dora CLI 命令继续可用。
渐进式采用
新功能是增量添加的。为特定节点添加 Service 模式,按节点启用容错,开始使用 dora record 录制。无需重写整个管道。