Netflix中用于Spring Boot 的GraphQL框架DGS是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計,陸豐網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陸豐等地區(qū)。陸豐做網(wǎng)站價格咨詢:028-86922220
Netflix 已開放其 Domain Graph Service(DGS)框架的源代碼 ,該框架是為獨立和聯(lián)合 GraphQL 服務(wù)開發(fā)的內(nèi)容流服務(wù),用于簡化 GraphQL 的實現(xiàn)。
Netflix 的軟件工程師 Paul Bakker 以及 Kavitha Srinivasan 在博客中寫道:“通過開源該項目,我們希望為 Java 和 GraphQL 社區(qū)做出貢獻(xiàn),并向使用該框架的所有人學(xué)習(xí)并與之合作,以使 DGS 在將來變得更好。”
GraphQL 最初由 Facebook 內(nèi)部開發(fā),是一種用于 API 的開源查詢語言,是一種服務(wù)器端運行時用于對現(xiàn)有數(shù)據(jù)執(zhí)行查詢。正如 GraphQL Foundation 解釋的那樣,該語言提供了基于 REST 體系結(jié)構(gòu)的替代方案,目的是提高開發(fā)人員的生產(chǎn)力并最大程度地減少傳輸?shù)臄?shù)據(jù)量?!?/p>
GraphQL 被包括 Credit Karma、GitHub、Intuit、PayPal 和《紐約時報》等在內(nèi)的許多組織用于生產(chǎn)環(huán)境中。Netflix 也將其用作數(shù)據(jù)查詢和操作語言,將數(shù)據(jù)提取到系統(tǒng)中以支持其內(nèi)容工程部門。
為什么需要 DGS 框架
Netflix 在 2019 年開始實施聯(lián)合 GraphQL 架構(gòu),向新的體系結(jié)構(gòu)過渡意味 Netflix 公司的許多后端團隊需要在其 Java 生態(tài)系統(tǒng)中采用 GraphQL。Netflix 已經(jīng)為后端開發(fā)標(biāo)準(zhǔn)化了 Spring Boot 快速應(yīng)用程序開發(fā)框架。由于該公司的框架是在 Spring Boot 之上創(chuàng)建的,為了使這種新的聯(lián)合架構(gòu)獲得成功,Netflix 就需要在 Spring Boot 中為 GraphQL 帶來出色的開發(fā)體驗。
DGS 框架的主要功能包括:
基于注釋的 Spring Boot 編程模型
用于將查詢測試編寫為單元測試的測試框架
Gradle 代碼生成插件,可從 GraphQL 模式創(chuàng)建 Java/Kotlin 類型
與 GraphQL Federation 輕松集成
與 Spring Security 集成
GraphQL 訂閱(WebSocket 和 SSE)
文件上傳
錯誤處理
基于 Java 的 GraphQL 客戶端
在 Spring Boot 之上創(chuàng)建的 DGS 框架,它利用了 graphql-java 庫,DGS 框架最初僅在 Netflix 內(nèi)部使用,著重于與 Netflix 生態(tài)系統(tǒng)的集成以進行跟蹤、日志記錄和指標(biāo)等。但是,將框架適當(dāng)?shù)啬K化也是他們重中之重的任務(wù)。顯然,Netflix 構(gòu)建的大部分框架實際上并不是特定于 Netflix 本身的。該框架基本上只是構(gòu)建獨立和聯(lián)合 GraphQL 服務(wù)的一種簡便方法。
該框架有很多 Kotlin 代碼,我可以用 Java 使用它嗎?
盡管 DGS 框架主要是用 Kotlin 編寫的,但該框架主要設(shè)計用于 Java,并且大多數(shù)框架的使用者都使用 Java。當(dāng)然,如果使用的是 Kotlin,效果也很好。
Netflix 是否在該框架的分支上運行?
不,Netflix正在使用相同的 OSS 組件!Netflix 為分布式跟蹤、日志記錄、指標(biāo)等插入了一些額外的模塊,并且我們有文檔說明如何為自己的基礎(chǔ)架構(gòu)實現(xiàn)類似集成。
準(zhǔn)備好用于生產(chǎn)環(huán)境中了嗎?
是的!在開源之前,Netflix 已經(jīng)在不同的部門中使用了超過一年半的時間,甚至包括一些大規(guī)模項目。我們已經(jīng)發(fā)布了許多發(fā)行版,其中增加了新功能、修復(fù)了錯誤等,并且它已經(jīng)成為一個非常穩(wěn)定的平臺。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
網(wǎng)頁標(biāo)題:Netflix中用于SpringBoot的GraphQL框架DGS是怎樣的
文章分享:http://jinyejixie.com/article42/ggedhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站建設(shè)、商城網(wǎng)站、做網(wǎng)站、ChatGPT、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)