graphql-hive/router · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Hive Router (Rust)
一个完全开源、采用 MIT 许可的 GraphQL API 路由器,可作为 GraphQL federation 路由器使用,使用 Rust 构建以实现最佳性能和健壮性。
[!TIP] 🚀 博客文章:欢迎使用 Hive Router
对基准测试结果感兴趣?请查看 Federation Gateway Performance 对比
它可以作为独立二进制文件或 Docker 镜像运行。查询规划器(Query planner)可作为独立的 Crate 库使用。
二进制版本发布 | Docker 版本发布 | 文档
试用
使用以下安装脚本下载 Hive Router:
curl -o- https://raw.githubusercontent.com/graphql-hive/router/main/install.sh | sh
目前,仅支持使用二进制文件的 Linux 运行时,如果您使用其他操作系统,请参阅下方的 Docker 选项。
创建一个指向您的 supergraph schema 文件的简单配置文件:
# router.config.yaml
supergraph:
source: file
path: ./supergraph.graphql
或者,您可以使用环境变量来配置路由器:
SUPERGRAPH_FILE_PATH=./supergraph.graphql
然后,运行路由器:
# By default, "router.config.yaml" is used for configuration. Override it by setting "ROUTER_CONFIG_FILE_PATH=some-custom-file.yaml"
# If you are using env vars, make sure to set the variables before running the router.
./hive_router
Binary
请参阅 GitHub Releases 以获取完整的发布列表和版本。
Docker
路由器镜像已发布到 Docker to GitHub Container Registry。您可以直接使用以下命令:
docker run \
-p 4000:4000 \
-e SUPERGRAPH_FILE_PATH="/app/supergraph.graphql" \
-v ./my-supergraph.graphql:/app/supergraph.graphql \
ghcr.io/graphql-hive/router:latest
将
my-supergraph.graphql替换为本地 supergraph 文件。
或者,你可以使用 -v 挂载配置文件,并将所有其他配置传递到该文件中:
docker run \
-p 4000:4000 \
-v ./router.config.yaml:/app/router.config.yaml \
ghcr.io/graphql-hive/router:latest
将
latest替换为特定的版本标签,或某个 PR 的预发布版本(pr-<number>或sha-<commit-sha>)。
若要尝试查询规划器,请参阅 bin/dev-cli/README.md 以获取快速使用 qp-dev-cli 查看 QP 运行情况的说明。
本地开发
- 运行
cargo test_all以执行所有单元测试。 - 运行
cargo test_e2e以执行所有 e2e 测试。 - 运行
cargo test_qp以执行所有查询规划器测试。 - 运行
cargo test_qpe以执行所有计划执行器测试。 - 请参阅 lib/query-planner/README.md 以获取更多信息、日志记录和配置。