GraphQL API 的查询语言

GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑

一、完整原则

确保图被明确定义、稳定且一致

1. 单一图

你的公司应当只有一个统一的图,而不是多个团队分别创建的多个图。

2. 联合实现

虽然只有一个图,但该图应该由多个团队联合实现。

3. 追踪在注册表中的 Schema

注册和追踪图时应当有一个单一的事实来源。

二、敏捷原则

快速推出图并适应不断变化的需求

4. 抽象、面向需求的 Schema

Schema 应当作为抽象层以隐藏服务实现细节并为消费者提供灵活性。

5. 使用敏捷方法进行 Schema 开发

Schema 应当根据实际需求增量构建,并随着时间的推移平滑演进。

6. 迭代地提高性能

性能管理应当是一个连续的、数据驱动的过程,可以平滑地适应不断变化的查询负载和服务实现。

7. 使用图的元数据为开发人员提供支持

开发人员应当在整个开发过程中对图充分了解

 

三、操作原则

安全地将图大规模部署到生产中

8. 访问和需求控制

基于每个客户端授予对图的访问权限,并管理客户端可以访问的内容和方式。

9. 结构化日志

捕获所有图操作的结构化日志,并以之为主要工具了解图的使用情况。

10. 将 GraphQL 层从服务层分离

采用分层架构将数据图功能分解为单独的层,而不是融入到每个服务中

 

 

参考:

https://www.graphql-java.com/documentation

https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/

https://graphql.cn/code/#java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值