1 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
我對(duì)你們的服務(wù)了解不多,但我在不同項(xiàng)目中成功使用的模式就像你提到的那樣GraphQL gateway
。
您將創(chuàng)建一個(gè)服務(wù),我更喜歡在 Node.js 中創(chuàng)建它,來自前端的所有請(qǐng)求都將通過。然后GraphQL gateway
你會(huì)請(qǐng)求你的微服務(wù)。這基本上是您進(jìn)入后端系統(tǒng)的唯一入口點(diǎn)。請(qǐng)求將經(jīng)過身份驗(yàn)證,您可以統(tǒng)一對(duì)數(shù)據(jù)的訪問并執(zhí)行一些性能優(yōu)化,例如實(shí)施數(shù)據(jù)加載器的緩存和批處理以緩解 N+1 問題。此外,您將降低擁有多個(gè) API 的復(fù)雜性并利用 GraphQL 的所有優(yōu)勢(shì)。在我的上一個(gè)項(xiàng)目中,我們有 7 個(gè)不同的前端,每個(gè)都使用相同的前端GraphQL gateway
,我對(duì)我們的方法非常滿意??隙ㄓ幸恍┤秉c(diǎn),因?yàn)槟枰3滞剿星岸撕?code>GraphQL gateway,因此您需要更多地了解您的重大更改,但它可以通過例如deprecated
指令并通過使用 Kubernetes 集群執(zhí)行藍(lán)/綠部署來解決。
另一種選擇是在 GraphQL 中為前端創(chuàng)建所謂的后端。目前,我沒有足夠的信息了解哪種解決方案最適合您。您需要根據(jù)您的前端需求和業(yè)務(wù)領(lǐng)域來決定,但通常我更喜歡 GraphQL 網(wǎng)關(guān),因?yàn)?GraphQL 具有很大的靈活性,并且 GraphQL 功能涵蓋了將 API 定制到前端的需求。
- 1 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報(bào)