返回市场
格拉夫基础服务器

格拉夫基础服务器

作者:grafbase1188 星标更新:2025-11-13

项目介绍

Grafbase Grafbase

适用于关键任务API的高性能GraphQL联邦平台

官网文档CLI社区博客

什么是Grafbase?

Grafbase是一款自托管的、基于Rust的GraphQL联邦网关,专为大规模的关键任务应用程序设计。无论您是统一微服务、遗留系统还是第三方API——Grafbase都能帮助团队更快更安全地交付。

构建于Federation v2之上

  • 以联邦为中心的架构 — 原生支持Apollo Federation v2规范及即将推出的Composite Schemas规范
  • 性能提升40% — Rust驱动引擎提供卓越的速度
  • 通过WebAssembly扩展 — 自定义认证、授权、请求生命周期,并将任意API和数据源纳入您的联邦图谱中
  • 与MCP原生集成 — 首个内置Model Context Protocol服务器支持的GraphQL网关,将您的GraphQL API转换为完整的MCP服务器

为什么选择Grafbase作为GraphQL联邦解决方案?

卓越性能

Grafbase相比Apollo和其他网关,响应时间快40%,内存使用和CPU消耗更低。由Rust构建,实现最大效率。

企业级安全性

  • 在app.grafbase.com上的Grafbase仪表板进行高级模式治理,包括模式检查
  • 网关中的细粒度授权和认证
  • 速率限制、操作限制和可信文档
  • 符合SOC 2 Type II标准

灵活的企业平台部署选项

  • 自托管:完全控制基础设施
  • 托管云:由Grafbase托管
  • 离线部署:高安全环境下的离线部署

网关本身始终100%自托管。

通用数据集成

通过GraphQL联邦连接任何数据源:

核心特性

| Apollo Federation v2 | 原生支持Apollo Federation v2规范 | | Rust-Powered Gateway | 超低延迟和内存效率,在企业规模下 | | 扩展 | 自定义认证、转换和业务逻辑,无需修改网关 | | 模式治理平台 | 组合检查、破坏性变更检测和模式提案审批工作流 | | 分支环境平台 | 模式版本化和分支感知开发环境 | | CLI & Gateway | 完整的开发、部署和管理工具链 | | MCP集成 | 内置Model Context Protocol支持,通过几行配置即可高效暴露您的GraphQL API为MCP服务器 | | 可观测性(在平台上) | 追踪、指标、日志和操作分析 |

仓库概览

此仓库包含了Grafbase的核心开源组件:CLI、网关和支持库。请参阅grafbase/extensions仓库获取我们的开源扩展。

🚀 快速开始

按照我们的入门指南快速开始使用Grafbase。

示例与模板

在我们的示例目录中探索现实世界的实现和集成模式:

了解更多:

  • gRPC服务 — Protocol Buffer服务集成
  • WASM扩展 — 自定义认证、授权、解析器和请求生命周期钩子

通过WebAssembly扩展

Grafbase支持强大的自定义功能通过WebAssembly扩展:

# 创建自定义认证扩展
grafbase extension init --type authentication auth-guard
cd auth-guard

# 构建并安装
grafbase extension build
grafbase extension install

扩展用例:

  • 自定义认证 — JWT验证、API密钥管理
  • 自定义授权 — 实现任意授权业务逻辑,声明性地从图谱中获取数据
  • 任意解析器 — 将非GraphQL API和数据源接入您的联邦图谱,无需编写和部署额外的GraphQL服务器
  • 可观测性钩子 — 自定义日志记录和指标收集
  • 速率限制 — 高级节流和配额管理

了解更多: 扩展SDK文档

#

性能与基准测试

Grafbase持续超越其他GraphQL联邦网关:

指标GrafbaseApollo RouterCosmo Router
响应时间✅ 基准🟡 较慢🟡 较慢
内存使用✅ 高效🔴 高🟡 中等
冷启动✅ 快速🟡 较慢🟡 较慢
吞吐量✅ 高🟡 中等🟡 中等

查看详细的基准测试比较Grafbase vs Apollo vs Cosmo vs Hive,请访问我们的性能分析

安装

要安装Grafbase网关,请运行以下命令:

curl -fsSL https://grafbase.com/downloads/gateway | bash

部署模式

混合模式(连接到Grafbase云):使用图形引用和组织访问令牌启动网关的混合模式:

GRAFBASE_ACCESS_TOKEN=token ./grafbase-gateway \
  --config grafbase.toml \
  --graph-ref graph@branch

离线模式(完全独立):使用本地模式文件启动网关的离线模式:

./grafbase-gateway \
  --config /path/to/grafbase.toml \
  --schema /path/to/federated-schema.graphql \
  --listen-address 127.0.0.1:4000

Docker部署

docker run -p 4000:4000 \
  -v $(pwd)/grafbase.toml:/etc/grafbase.toml \
  -v $(pwd)/schema.graphql:/etc/schema.graphql \
  ghcr.io/grafbase/gateway:latest \
  --config /etc/grafbase.toml \
  --schema /etc/schema.graphql

网关特性

  • JWT认证和联邦授权
  • 速率限制、操作限制和可信文档
  • 实体缓存和自动持久查询
  • 健康检查端点和请求生命周期钩子
  • OpenTelemetry集成用于日志、追踪和指标
  • …以及更多

社区与贡献

我们欢迎来自社区的贡献!以下是参与的方式:

获取帮助与连接

贡献代码

  1. 分叉仓库并创建一个功能分支
  2. 阅读我们的贡献指南 — 开发设置和指南
  3. 提交Pull Request — 我们会迅速审查所有贡献
  4. 加入我们的Discord — 与维护者和贡献者联系

贡献方式

  • 修复错误和性能改进
  • 文档改进和示例
  • 扩展新的数据源和协议
  • 测试和质量保证
  • 开发者体验增强

许可证

Grafbase网关根据Mozilla Public License 2.0(MPL-2.0)许可。

有用链接

文档与指南

工具与资源

保持联系

  • 网站 — 产品信息和功能
  • 博客 — 技术洞察和更新
  • 更新日志 — 最新功能和改进
  • X — 新闻和社区更新