🚀 推出 MemCloud — 在局域网内跨机器池化未使用的 RAM(Rust,Zero-Config)
Source: Dev.to
Introduction
嗨,DEV 社区!👋
我一直在做一个副项目,结果它变得出乎意料地有用、有趣,而且非常 Rust‑风格。
MemCloud 是一个分布式内存数据存储,让局域网内的多台机器把它们的 RAM 合并成一个临时的“内存云”。
使用场景: 有一台 Mac、一台 Linux 机器,还有一台闲置的迷你 PC?MemCloud 能把它们自动变成一个大容量的 RAM 缓存。
我经常运行机器学习实验、开发服务器和日志处理器,这些任务会让一台机器的内存溢出,而旁边的机器却闲置。我需要一个工具,具备以下特性:
- 离线工作
- 本地运行
- 零配置
- 自动发现节点
- 能在毫秒级在设备间存取数据
于是我构建了 MemCloud,一个小型的 Rust 守护进程 + CLI + SDK,能够在局域网内创建点对点的 RAM 网格。每个 memnode 都会把自己的 RAM 贡献给集群。对机器 A 的写入可以在机器 B 上在 10 毫秒内读取。只需启动守护进程——节点会自动发现彼此。无需 IP、端口、YAML 文件、Kubernetes、云服务、账号或中心服务器。
memcli用于终端工作流- Rust SDK 用于系统开发
- TypeScript SDK 为 JS/Node 开发者提供支持
Storage Modes
Block Store
原始字节和流。
Key‑Value Store
类似 Redis 的 set / get。
Architecture
您可以在此查看架构图:
➡️
- 每个节点运行一个小型守护进程(
memnode)。 - SDK 和 CLI 只与本地守护进程通信。
- 守护进程负责在节点之间进行路由和存储。
Quick Install (macOS & Linux)
# Install via script
curl -fsSL https://raw.githubusercontent.com/vibhanshu2001/memcloud/main/install.sh | sh
# Build from source
git clone https://github.com/vibhanshu2001/memcloud.git
cd memcloud
cargo build --release
Links
- GitHub:
- Docs:
- NPM package:
Feedback
我很期待收到以下方面的反馈:
- 性能优化思路
- 网络改进建议
- 内存/驱逐策略
- 实际使用案例
感谢阅读!
— Vibhanshu