首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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框架超过一年,添加许多功能并修复bug,现在已经是非常稳定的平台。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210209A06SUJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券