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 之上创建的 DGS 框架,它利用了 graphql-java 库,DGS 框架最初仅在 Netflix 内部使用,着重于与 Netflix 生态系统的集成以进行跟踪、日志记录和指标等。但是,将框架适当地模块化也是他们重中之重的任务。显然,Netflix 构建的大部分框架实际上并不是特定于 Netflix 本身的。该框架基本上只是构建独立和联合 GraphQL 服务的一种简便方法。
该框架有很多 Kotlin 代码,我可以用 Java 使用它吗?
尽管 DGS 框架主要是用 Kotlin 编写的,但该框架主要设计用于 Java,并且大多数框架的使用者都使用 Java。当然,如果使用的是 Kotlin,效果也很好。
Netflix 是否在该框架的分支上运行?
不,Netflix正在使用相同的 OSS 组件!Netflix 为分布式跟踪、日志记录、指标等插入了一些额外的模块,并且我们有文档说明如何为自己的基础架构实现类似集成。
准备好用于生产环境中了吗?
是的!在开源之前,Netflix 已经在不同的部门中使用了超过一年半的时间,甚至包括一些大规模项目。我们已经发布了许多发行版,其中增加了新功能、修复了错误等,并且它已经成为一个非常稳定的平台。
本文转自OSCHINA
本文标题:Netflix 开源 DGS,用于 Spring Boot 的 GraphQL 框架
本文地址:https://www.oschina.net/news/130340/open-sourcing-the-netflix-domain-graph-service-framework
这5个PHP编程中的不良习惯,一定要改掉 PHP世界上最好的语言! 测试循环前数组是...
首先到这里下载其源码。里面东西挺多的,我们基本上可以把它放到两个文件夹就是...
MFC项目在vs2017编译正常无报错,但是升级vs2019后一打开项目就报如下错误。 项...
在大三的时候,一直就想搭建属于自己的一个博客,但由于各种原因,最终都不了了...
本文实例为大家分享了vue实现按钮切换图片的具体代码,供大家参考,具体内容如下...
目录 读者基础 ?微服务架构梳理 https://www.coder4.com/homs_online/ ? ? 读者...
目录 1. C语言文件接口(库函数) 1.1 fopen 1.2 fclose 1.3 fread 1.4 fwrite 1.5...
今天看到个不错的网页播放器,感觉不错,大家可以测试 我写的一个播放器网页: ...
本文实例为大家分享了javascript实现倒计时提示框的具体代码,供大家参考,具体...
由于固态驱动器(SSD)的速度比传统的硬盘驱动器(HDD)快得多,并且价格越来越便宜...