APP下载

Netflix开源可简化GraphQL实作的DGS框架

消息来源:baojiabao.com 作者: 发布时间:2024-04-28

报价宝综合消息Netflix开源可简化GraphQL实作的DGS框架

Netflix现在开源内部使用的DGS(Domain Graph Service)框架,该框架是一个适用于Java框架Spring Boot的GraphQL服务器框架,让开发者能以Java或是Kotlin来建置全功能的GraphQL服务器。

由于在2019年的时候,Netflix内部开始采用新的联合架构(Federated Architecture),而使得许多后端团队,都需要在Java生态系中采用GraphQL,因此Netflix使用Spring Boot作为后端开发标准,而为了改善Spring Boot中的GraphQL开发体验,最终使用graphql-java函式库开发了DGS框架,官方提到,DGS框架并非只能用于Netflix,而是提供简单建构GraphQL服务的通用途径。

GraphQL开发有两种不同的方法,架构优先(Schema-First)以及程式码优先(Code-First),在架构优先中,开发者可以使用GraphQL架构语言定义API架构,服务的程式码仅是实作该架构,而程式码优先开发不使用架构档案,架构则是在执行时,根据程式码中的定义产生。

DGS框架同时支援这两种开发方法,不过在Netflix中,他们偏好采用架构优先方法,尽管程式码优先的模式,会稍微快一点,但是Netflix认为,值得花时间以人类可读和协作的方式来设计架构,建立更好的API。

虽然DGS框架主要是以Kotlin撰写,但其实原本是被设计来用在Java中,而主要使用者的确也都是使用Java,但是要把DGS框架用在Kotlin也没有问题。无论是Java还是Kotlin开发者,都可使用DGS框架,在Spring Boot中构建GraphQL服务,可以用于建构独立的服务,也可以用于建构联合GraphQL,DGS框架提供了一种简单的方法,以实作联合GraphQL服务。Netflix提到,他们开源DGS框架,且也会使用相同的开源元件,不会使用自己分叉的版本。

Netflix从2019年开始发展DGS框架,并且已经利用该框架开发多个GraphQL服务,而现在Netflix决定将其开源,借助社群的力量来进一步扩展DGS框架,使用者已经可以将该框架用于产品上,Netflix提到,在开源之前,他们就已经大规模使用DGS框架超过一年,新增许多功能并修复臭虫,现在已经是非常稳定的平台。

2021-02-09 12:48:00

相关文章