竹笋

首页 » 问答 » 环境 » Netflix开源可简化GraphQL实
TUhjnbcbe - 2023/10/26 17:59:00
白癜风病怎么治 http://m.39.net/news/a_6185455.html

Netflix现在开源内部使用的,该框架是一个适用於Java框架SpringBoot的GraphQL服务器框架,让开发者能以Java或是Kotlin来建置全功能的GraphQL服务器。

由於在年的时候,Netflix内部开始采用新的联合机构(FederatedArchitecture),而使得许多後端团队,都需要在Java生态系中采用GraphQL,因此Netflix使用SpringBoot作为後端开发标准,而为了改善SpringBoot中的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框架,在SpringBoot中构建GraphQL服务,可以用於建构独立的服务,也可以用於建构联合GraphQL,DGS框架提供了一种简单的方法,以实例化联合GraphQL服务。Netflix提到,他们开源DGS框架,且也会使用相同的开源组件,不会使用自己分叉的版本。

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

1
查看完整版本: Netflix开源可简化GraphQL实