Multiplayer at the speed of light
技术背景
SpacetimeDB 是一个将数据库和服务器功能合二为一的关系型数据库系统。传统的应用架构中,客户端与数据库之间需要部署一个 Web 或游戏服务器,而 SpacetimeDB 允许客户端直接连接到数据库,并通过名为“模块”的存储过程在数据库内部执行应用逻辑。它与智能合约的概念类似,但 SpacetimeDB 是一个数据库,与区块链无关,且速度比任何智能合约系统都要快得多。SpacetimeDB 针对实时应用进行了优化,如游戏、聊天和协作工具,注重实现最大速度和最小延迟,而非批量处理或 OLAP 工作负载。
实现步骤
安装
不同平台安装
- macOS 和 Linux:运行安装脚本
curl -sSf https://install.spacetimedb.com | sh
,之后可以使用spacetime
命令管理版本。 - Windows:在 PowerShell 中粘贴
iwr https://windows.spacetimedb.com -useb | iex
。若使用 WSL,则遵循 Linux 安装说明。
从源代码安装
- MacOS + Linux
- 安装 rustup(若已安装
cargo
和wasm32-unknown-unknown
目标则可跳过):curl https://sh.rustup.rs -sSf | sh
。 - 克隆 SpacetimeDB 仓库:
git clone https://github.com/clockworklabs/SpacetimeDB
。 - 构建并安装 CLI:
- 安装 rustup(若已安装
cd SpacetimeDB
cargo build --locked --release -p spacetimedb-standalone -p spacetimedb-update -p spacetimedb-cli
4. 创建目录:
mkdir -p ~/.local/bin
export STDB_VERSION="$(./target/release/spacetimedb-cli --version | sed -n 's/.*spacetimedb tool version \([0-9.]*\);.*/\1/p')"
mkdir -p ~/.local/share/spacetime/bin/$STDB_VERSION
5. 安装更新二进制文件:
cp target/release/spa