DEV Community · Show DEV8/11 19:2056 分
Rust事务性后台任务引擎Azums
I Built a Transactional Background Job Engine for Rust
开发者Sopuruchi在dev.to发文介绍其构建的Rust后台任务引擎Azums。该引擎旨在解决现有Rust任务队列生态的三大痛点:双写问题(如主数据库事务与Redis入队不一致)、空闲CPU浪费(轮询机制)及后端锁定(切换存储需重写代码)。Azums提供统一API,支持PostgreSQL、SQLite、Redis及内存后端,无需改代码。它允许在SQL事务内入队任务,事务回滚则任务消失,实现零双写。通过利用Postgres的LISTEN/NOTIFY和Redis的PubSub,实现0%空闲CPU占用。此外,提供Axum、Actix Web等Web框架的提取器,并内置持久化事件流功能。文章还包含性能基准测试,声称达到38万操作/秒。