
- GraphQL 教程
- GraphQL - 首頁
- GraphQL - 簡介
- GraphQL - 環境搭建
- GraphQL - 架構
- GraphQL - 應用元件
- GraphQL - 示例
- GraphQL - 型別系統
- GraphQL - 模式
- GraphQL - 解析器
- GraphQL - 查詢
- GraphQL - 變異
- GraphQL - 驗證
- GraphQL - JQuery 整合
- GraphQL - React 整合
- GraphQL - Apollo 客戶端
- GraphQL - 客戶端身份驗證
- GraphQL - 快取
- GraphQL 有用資源
- GraphQL - 快速指南
- GraphQL - 有用資源
- GraphQL - 討論
GraphQL - 架構
GraphQL 是一種規範,描述了 GraphQL 伺服器的行為。它是一套關於如何處理請求和響應的指南,例如支援的協議、伺服器可以接受的資料格式、伺服器返回的響應格式等。客戶端向 GraphQL 伺服器發出的請求稱為查詢。GraphQL 的另一個重要概念是其傳輸層無關性。它可以與任何可用的網路協議一起使用,例如 TCP、Websocket 或任何其他傳輸層協議。它也與資料庫無關,因此您可以將其與關係型資料庫或 NoSQL 資料庫一起使用。
GraphQL 伺服器可以透過以下三種方法中的任何一種進行部署:
- 連線資料庫的 GraphQL 伺服器
- 整合現有系統的 GraphQL 伺服器
- 混合方法
連線資料庫的 GraphQL 伺服器
這種架構具有一個集成了資料庫的 GraphQL 伺服器,並且經常可以用於新專案。在收到查詢時,伺服器讀取請求有效負載並從資料庫中獲取資料。這稱為解析查詢。返回給客戶端的響應遵循官方 GraphQL 規範中指定的格式。

在上圖中,GraphQL 伺服器和資料庫整合在一個節點上。客戶端(桌面/移動)透過 HTTP 與 GraphQL 伺服器通訊。伺服器處理請求,從資料庫中獲取資料並將其返回給客戶端。
整合現有系統的 GraphQL 伺服器
這種方法對於擁有遺留基礎設施和不同 API 的公司很有幫助。GraphQL 可用於統一現有系統中的微服務、遺留基礎設施和第三方 API。

在上圖中,GraphQL API 充當客戶端和現有系統之間的介面。客戶端應用程式與 GraphQL 伺服器通訊,後者依次解析查詢。
混合方法
最後,我們可以結合上述兩種方法來構建 GraphQL 伺服器。在此架構中,GraphQL 伺服器將解析收到的任何請求。它將從連線的資料庫或整合的 API 中檢索資料。這在下圖中表示:

廣告