天天看點

GraphQL 快速入門【3】GraphQL 架構內建連接配接資料庫的 GraphQL 伺服器GraphQL 伺服器內建現有系統混合方法

【注】本文譯自: GraphQL - Quick Guide (tutorialspoint.com)

    GraphQL 是描述 GraphQL 伺服器行為的規範。它是一組關于如何處理請求和響應的指南,如支援的協定、伺服器可以接受的資料格式、伺服器傳回的響應格式等。用戶端向 GraphQL 發出的請求伺服器稱為查詢。GraphQL 的另一個重要概念是其傳輸層不可知性。它可以與任何可用的網絡協定一起使用,如 TCP、websocket 或任何其他傳輸層協定。它對資料庫也是中立的,是以您可以将它與關系資料庫或 NoSQL 資料庫一起使用。

    可以使用下面列出的三種方法中的任何一種來部署 GraphQL Server:

帶有連接配接資料庫的 GraphQL 伺服器

內建現有系統的 GraphQL 伺服器

混合方法

    這種架構有一個帶有內建資料庫的 GraphQL 伺服器,通常可以用于新項目。收到查詢後,伺服器讀取請求有效負載并從資料庫中擷取資料。這稱為解析查詢。傳回給用戶端的響應遵循官方 GraphQL 規範中指定的格式。

GraphQL 快速入門【3】GraphQL 架構內建連接配接資料庫的 GraphQL 伺服器GraphQL 伺服器內建現有系統混合方法

    在上圖中,GraphQL 伺服器和資料庫內建在一個節點上。用戶端(桌面/移動)通過 HTTP 與 GraphQL 伺服器通信。伺服器處理請求,從資料庫中擷取資料并将其傳回給用戶端。

    這種方法對于擁有遺留基礎設施和不同 API 的公司很有幫助。GraphQL 可用于統一現有系統中的微服務、遺留基礎設施和第三方 API。

GraphQL 快速入門【3】GraphQL 架構內建連接配接資料庫的 GraphQL 伺服器GraphQL 伺服器內建現有系統混合方法

    在上圖中,GraphQL API 充當用戶端和現有系統之間的接口。用戶端應用程式與 GraphQL 伺服器通信,後者反過來解析查詢。

    最後,我們可以将以上兩種方式結合起來,搭建一個 GraphQL 伺服器。在這種架構中,GraphQL 伺服器将解析收到的任何請求。它将從連接配接的資料庫或內建的 API 中檢索資料。這如下圖所示:

GraphQL 快速入門【3】GraphQL 架構內建連接配接資料庫的 GraphQL 伺服器GraphQL 伺服器內建現有系統混合方法

繼續閱讀