#分布式 #去中心化 #并发 #元组空间

bin+lib rustupolis

Rust 中元组空间数据结构的实现

1 个不稳定版本

0.0.2 2020 年 8 月 20 日

#1591数据结构

21 次每月下载
用于 rustupolis_server

MIT 许可证

37KB
753 代码行

rustupolis - Rust 的元组空间 travis CI 构建状态

一个易于使用的 Rust 编写的元组空间库。

还可以查看 rustupolis 的姊妹项目 goTupolis,一个用 Go 实现的元组空间。这两个项目是同时开发的,以了解 Rust 和 Go 语言,以及实现类似库的差异。

为什么需要元组空间

元组空间是去中心化计算的一个非常酷的应用(和推动者)。尽管不太常用,但它们仍然有助于促进异步和分布式通信以及数据交换,对于任何关注这些事情的编程语言来说,都是一个很好的工具。

此外,元组空间是探索编程语言的一个很好的方式。它们的底层概念非常简单明了,易于理解,实现涉及编程中的许多重要概念

  • 数据结构和泛型
  • 多线程和并发
  • 套接字和网络通信

以及更多。

目标

本项目的目标是实现一个功能全面的元组空间库,满足以下标准

  1. 通用用途 - 实现应支持用户希望使用的任何类型的数据。
  2. 分布式 - 元组空间应能够在多个节点上本地和远程运行。
  3. 并行化 - 核心价值,元组空间应该是可并发访问的。

开发

元组空间正在迭代实现,每次迭代都在前一个版本的基础上增加或完善功能,以实现下一个里程碑。

里程碑

  • 本地元组空间,用于存储元组并通过模式匹配检索它们
  • 具有多线程和并发访问功能的本地元组空间
  • 用于创建元组空间和推送/拉取元组的交互式命令行界面
  • 永久存储/备份
  • 可通过网络套接字访问的远程元组空间服务器
  • 多服务器上的分布式元组空间,可通过网络访问
  • “空间的空间”,元组本身可以是元组空间

当前版本

alpha 0.0.2

开发笔记:测试和记录

使用以下参数运行 rust 以实现跟踪输出和堆栈跟踪。

RUST_LOG=rustupolis=trace RUST_BACKTRACE=1 cargo test

依赖关系

~6–16MB
~197K SLoC