1 个不稳定版本
0.0.2 | 2020 年 8 月 20 日 |
---|
#1591 在 数据结构
21 次每月下载
用于 rustupolis_server
37KB
753 代码行
rustupolis - Rust 的元组空间
一个易于使用的 Rust 编写的元组空间库。
还可以查看 rustupolis 的姊妹项目 goTupolis,一个用 Go 实现的元组空间。这两个项目是同时开发的,以了解 Rust 和 Go 语言,以及实现类似库的差异。
为什么需要元组空间
元组空间是去中心化计算的一个非常酷的应用(和推动者)。尽管不太常用,但它们仍然有助于促进异步和分布式通信以及数据交换,对于任何关注这些事情的编程语言来说,都是一个很好的工具。
此外,元组空间是探索编程语言的一个很好的方式。它们的底层概念非常简单明了,易于理解,实现涉及编程中的许多重要概念
- 数据结构和泛型
- 多线程和并发
- 套接字和网络通信
以及更多。
目标
本项目的目标是实现一个功能全面的元组空间库,满足以下标准
- 通用用途 - 实现应支持用户希望使用的任何类型的数据。
- 分布式 - 元组空间应能够在多个节点上本地和远程运行。
- 并行化 - 核心价值,元组空间应该是可并发访问的。
开发
元组空间正在迭代实现,每次迭代都在前一个版本的基础上增加或完善功能,以实现下一个里程碑。
里程碑
- 本地元组空间,用于存储元组并通过模式匹配检索它们
- 具有多线程和并发访问功能的本地元组空间
- 用于创建元组空间和推送/拉取元组的交互式命令行界面
- 永久存储/备份
- 可通过网络套接字访问的远程元组空间服务器
- 多服务器上的分布式元组空间,可通过网络访问
- “空间的空间”,元组本身可以是元组空间
当前版本
alpha 0.0.2
开发笔记:测试和记录
使用以下参数运行 rust 以实现跟踪输出和堆栈跟踪。
RUST_LOG=rustupolis=trace RUST_BACKTRACE=1 cargo test
依赖关系
~6–16MB
~197K SLoC