资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Netflix中用于SpringBoot的GraphQL框架DGS是怎样的

Netflix中用于Spring Boot 的GraphQL框架DGS是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联建站是一家专注于成都网站建设、网站制作与策划设计,陆丰网站建设哪家好?创新互联建站做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:陆丰等地区。陆丰做网站价格咨询:028-86922220

Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为独立和联合 GraphQL  服务开发的内容流服务,用于简化 GraphQL 的实现。

Netflix 的软件工程师 Paul Bakker 以及 Kavitha Srinivasan 在博客中写道:“通过开源该项目,我们希望为 Java 和  GraphQL 社区做出贡献,并向使用该框架的所有人学习并与之合作,以使 DGS 在将来变得更好。”

GraphQL 最初由 Facebook 内部开发,是一种用于 API 的开源查询语言,是一种服务器端运行时用于对现有数据执行查询。正如 GraphQL  Foundation 解释的那样,该语言提供了基于 REST 体系结构的替代方案,目的是提高开发人员的生产力并最大程度地减少传输的数据量。”

GraphQL 被包括 Credit Karma、GitHub、Intuit、PayPal 和《纽约时报》等在内的许多组织用于生产环境中。Netflix  也将其用作数据查询和操作语言,将数据提取到系统中以支持其内容工程部门。

为什么需要 DGS 框架

Netflix 在 2019 年开始实施联合 GraphQL 架构,向新的体系结构过渡意味 Netflix 公司的许多后端团队需要在其 Java  生态系统中采用 GraphQL。Netflix 已经为后端开发标准化了 Spring Boot 快速应用程序开发框架。由于该公司的框架是在 Spring  Boot 之上创建的,为了使这种新的联合架构获得成功,Netflix 就需要在 Spring Boot 中为 GraphQL 带来出色的开发体验。

DGS 框架的主要功能包括:

  • 基于注释的 Spring Boot 编程模型

  • 用于将查询测试编写为单元测试的测试框架

  • Gradle 代码生成插件,可从 GraphQL 模式创建 Java/Kotlin 类型

  • 与 GraphQL Federation 轻松集成

  • 与 Spring Security 集成

  • GraphQL 订阅(WebSocket 和 SSE)

  • 文件上传

  • 错误处理

  • 基于 Java 的 GraphQL 客户端

在 Spring Boot 之上创建的 DGS 框架,它利用了 graphql-java 库,DGS 框架最初仅在 Netflix 内部使用,着重于与  Netflix 生态系统的集成以进行跟踪、日志记录和指标等。但是,将框架适当地模块化也是他们重中之重的任务。显然,Netflix  构建的大部分框架实际上并不是特定于 Netflix 本身的。该框架基本上只是构建独立和联合 GraphQL 服务的一种简便方法。

该框架有很多 Kotlin 代码,我可以用 Java 使用它吗?

尽管 DGS 框架主要是用 Kotlin 编写的,但该框架主要设计用于 Java,并且大多数框架的使用者都使用 Java。当然,如果使用的是  Kotlin,效果也很好。

Netflix 是否在该框架的分支上运行?

不,Netflix正在使用相同的 OSS 组件!Netflix  为分布式跟踪、日志记录、指标等插入了一些额外的模块,并且我们有文档说明如何为自己的基础架构实现类似集成。

准备好用于生产环境中了吗?

是的!在开源之前,Netflix  已经在不同的部门中使用了超过一年半的时间,甚至包括一些大规模项目。我们已经发布了许多发行版,其中增加了新功能、修复了错误等,并且它已经成为一个非常稳定的平台。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


当前标题:Netflix中用于SpringBoot的GraphQL框架DGS是怎样的
网站URL:http://cdkjz.cn/article/ggedhc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220