4个版本 (2个重大变更)
0.5.1 | 2021年3月26日 |
---|---|
0.5.0 | 2021年3月24日 |
0.4.0 | 2021年3月23日 |
0.3.2 | 2021年3月22日 |
#1296 在 HTTP服务器
每月 26次下载
在 4 个包中使用了 4 (3直接)
36KB
901 行
GraphGate
GraphGate是Rust实现的Apollo Federation。
快速入门
由3个服务(账户、产品、评论)组成的GraphQL API。
docker run -p 8000:8000 scott829/graphgate-standalone-demo:latest
打开浏览器 http://127.0.0.1:8000
执行查询
{
topProducts {
upc name price reviews {
body
author {
id
username
}
}
}
}
执行订阅
subscription {
users {
id username reviews {
body
}
}
}
常见问题解答
Apollo Federation做什么?
为了充分利用GraphQL,您的组织应公开一个单一的数据图,该数据图提供查询任何组合的后备数据源的统一接口。然而,用单一、单体式的GraphQL服务器表示企业级的数据图可能具有挑战性。
为了解决这个问题,您可以使用Apollo Federation将您数据图的实现分割成多个可组合的服务。
与其他分布式GraphQL架构(如schema stitching)不同,Apollo Federation使用声明性编程模型,使得每个实现服务只需实现您数据图中它负责的部分。
为什么用Rust实现它?
Rust是我最喜欢的编程语言。它是安全的且速度很快,非常适合开发API网关。
GraphGate和Apollo Federation有什么区别?
我认为GraphGate的性能会更好(我还没有做基准测试,但很快就会添加),并且它支持订阅。
依赖项
~5MB
~95K SLoC