13 个不稳定版本 (3 个破坏性更新)
0.4.2 | 2024年3月11日 |
---|---|
0.4.1 | 2023年12月3日 |
0.3.3 | 2023年11月24日 |
0.2.0 | 2023年11月16日 |
0.1.3 | 2023年10月29日 |
#969 in 并发
每月 1,785 次下载
220KB
3K SLoC
Paladin
将神圣秩序带给分布式计算。
关于 Paladin 的两句话
Paladin 是一个 Rust 库,旨在简化编写分布式程序。它提供了一个声明式 API,让开发者可以清晰地表达他们的分布式程序,无需考虑分布式系统编程的复杂性。
特性
- 声明式 API:清晰、轻松地表达分布式计算。
- 自动分发:Paladin 的运行时无缝处理集群中的任务分发和执行。
- 简化开发:专注于程序逻辑,将分布式系统的复杂性留给 Paladin。
- 基础设施无关:Paladin 对其消息后端和基础设施提供商是通用的。使用您自己的基础设施!
示例
以下是一个(虚构的)典型 Paladin 程序的示例。
#[tokio::main]
async fn main() {
let stream = IndexedStream::from([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
// Compute the fibonacci number at each element in the stream.
let fibs = stream.map(&FibAt);
// Sum the fibonacci numbers.
let sum = fibs.fold(&Sum);
// Run the computation.
let result = sum.run(&runtime).await.unwrap();
assert_eq!(result, 143);
}
在这个示例程序中,我们定义了一个算法,用于在流中的每个元素上计算斐波那契数,然后求和结果。在幕后,Paladin 将将计算分布到集群中,并将结果返回到主线程。
许可证
许可协议为以下之一
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您提交给作品以供包含在内的任何贡献,根据 Apache-2.0 许可证的定义,应如上所述双重许可,而无需任何附加条款或条件。
依赖关系
约 20-33MB
~548K SLoC