簡體   English   中英

如何使用共享數據庫在 Graphql 微服務之間獲取數據?

[英]How to get data between Graphql Microservices with Shared Database?

在為我們的應用程序開發 Graphql API 的過程中,我們決定采用微服務架構,並決定我們應該有另一個支付 API(也將是一個 Graphql API),這樣我們就可以開始解耦我們的應用程序。 我們在 Mongoose 的數據庫中使用 MongoDB。 我們目前面臨的問題是,為了處理支付,我們需要獲取用戶數據,但我們的支付 API 沒有我們可以查詢用戶數據的 Mongoose 模型。 我們想知道解決這個問題的最佳方法是什么。 我們是否復制了我們需要從第一個 API 查詢的模型? 我們在這里做錯了什么? 在微服務架構中擁有共享數據庫是一種完全錯誤的方法嗎?

GraphQL 的整個想法是擁有一個端點。 這降低了“前端”開發人員(API 消費者)的復雜性。

因此,您將擁有一個管理數據庫訪問的 GraphQL 端點服務。

通常“微服務”有自己的數據庫。

您仍然可以將業務邏輯放在微服務中,但您需要讓這些服務聯系您的 GraphQL 服務以訪問數據庫。

但是,如果您使用 GraphQL API 將系統置於系統前端,那么您只需創建一個端點。

要像您描述的那樣擁有這些離散的微服務,您通常會將它們設為 REST 或 gRPC 供消費者使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM