迁移到 GraphQL 的优势
自 2015 年公开发布以来,GraphQL 的普及度和使用范围都在不断提升。数据图谱的加入彻底改变了开发流程,以全面安全的方式整合数据和服务。越来越多的公司认识到 GraphQL 的强大功能,Shopify、Microsoft 和 Yelp 等公司都将 GraphQL 添加到他们的开发栈中。
GraphQL 依然生机勃勃,但它是如何从一门鲜有人使用的封闭语言,发展成为广受认可、几乎不可或缺的工具的呢?如果没有围绕它的众多成功案例,它也不会走到今天。
Airbnb 最近 API 的迁移就是一个很好的例子。他们的软件工程师之一 Brie Bunge 在 GraphQL 峰会上对此进行了深入的讨论,并详细描述了迁移过程。我想探讨一下在这些操作中使用 GraphQL 的一些独特优势,希望亲爱的读者,您能找到解决某个问题的方法。
资料来源:undraw.co
更好的数据访问
采用 GraphQL 作为 API 后,数据访问速度更快,界面也更加流畅。得益于循序渐进的迁移方式,整个迁移过程几乎没有停机时间。Airbnb 没有尝试一次性转换现有代码,甚至没有从头开始重建,而是选择了循序渐进的变更。因此,这种做法实现了平稳过渡,无需暂停任何服务。
过度获取问题
切换到GraphQL带来的另一个改进是显著减少了过度获取。数据经过精心设计,不允许请求超出特定实例所需的数据。这大大减少了可能预先产生的不必要成本,这一点在设计数据架构时必须考虑。
整个转换过程完成后,我们得到了一个可靠、精简且影响深远的工具。它能够通过整合各组件的优势,快速可靠地访问请求的数据,同时摆脱不必要的复杂代码。此外,如果有需要,Airbnb 的 GraphQL 实现已准备好在合理范围内进行扩展。据该公司另一位软件工程师Adam Neary介绍,其他优势包括:
- 强类型 API 模式,
- 领域选择的灵活性,
- 跨平台客户端开发
...等等。
尽管使用GraphQL带来的好处毋庸置疑,但该项目还远未完成。未来还有许多改进可以开发。
通过将模式重塑为更加以数据为中心的模式,他们希望减少重复请求,进一步提高效率并加快缓存速度,而缓存一直是当时的主要瓶颈。
这只是 GraphQL 成为大型公司数据处理首选的众多示例之一。来自不同行业的近千家企业都在使用这种语言进行所有查询处理,充分展现了它的灵活性和高效性。
Carl Matte 在GraphQL 编辑器博客上发表的客座博文
考虑将您的 API 迁移到 GraphQL?
GraphQL 编辑器是一款能够在多个层面上帮助您完成迁移的工具。它拥有数十个内置微功能,可以帮助您更快地构建、管理和部署GraphQL API 。
