我們在 Golang 和 Python 上有幾個微服務,在 Golang 上我們正在編寫財務操作,在 Python 在線商店邏輯上,我們想為我們的前端創建一個 API,但我們不知道如何去做。我已經閱讀了 API 網關,如果 Golang 創建自己的 GraphQL 服務器,Python 將創建另一個,它們都將與第三個 graphql 服務器通信,該服務器將為前端生成 API。
1 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
我對你們的服務了解不多,但我在不同項目中成功使用的模式就像你提到的那樣GraphQL gateway
。
您將創建一個服務,我更喜歡在 Node.js 中創建它,來自前端的所有請求都將通過。然后GraphQL gateway
你會請求你的微服務。這基本上是您進入后端系統的唯一入口點。請求將經過身份驗證,您可以統一對數據的訪問并執行一些性能優化,例如實施數據加載器的緩存和批處理以緩解 N+1 問題。此外,您將降低擁有多個 API 的復雜性并利用 GraphQL 的所有優勢。在我的上一個項目中,我們有 7 個不同的前端,每個都使用相同的前端GraphQL gateway
,我對我們的方法非常滿意。肯定有一些缺點,因為您需要保持同步所有前端和GraphQL gateway
,因此您需要更多地了解您的重大更改,但它可以通過例如deprecated
指令并通過使用 Kubernetes 集群執行藍/綠部署來解決。
另一種選擇是在 GraphQL 中為前端創建所謂的后端。目前,我沒有足夠的信息了解哪種解決方案最適合您。您需要根據您的前端需求和業務領域來決定,但通常我更喜歡 GraphQL 網關,因為 GraphQL 具有很大的靈活性,并且 GraphQL 功能涵蓋了將 API 定制到前端的需求。
- 1 回答
- 0 關注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消