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

Hive GraphQL Platform

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 以获取更多信息、日志记录和配置。