色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

對GraphQL APIs實現監控的步驟

如意 ? 來源:百家號 ? 作者:51CTO ? 2020-06-28 14:16 ? 次閱讀

作為REST的另一種選擇,GraphQL自2015年發布以來,為前端開發人員提供了他們渴望已久的靈活性。他們可以通過一次性查詢,來定義所有需要的數據,并能夠一次性地“打包”獲取,進而大幅減少了等待的時間。

除了簡化前端,REST也讓監控等方面變得更加簡單。據此,后端團隊可以考量每一個端點的狀態,并能夠及時地發現當前出現的問題。當然,在使用的過程中,我們需要考慮清楚的最關鍵問題是:如何使用GraphQL來準確地監控到目標系統的重要位置。下面,讓我們一起來討論那些有關GraphQL APIs監控的優秀實踐。

GraphQL架構

為了弄清楚上述問題件,讓我們首先來了解GraphQL的架構。通常,一個簡單的GraphQL系統會包括如下三個部分:

一種可定義所有數據類型的schema(結構模式)。

一個使用該schema將查詢到的每個部分都路由到某個解析器(resolver)的GraphQL引擎。

一到多個能夠被GraphQL引擎所調用的解析器。

通過解析schema,GraphQL后端會讓服務器了解到哪種解析器能夠處理哪種類型的查詢。也就是說,當一個查詢被發送到GraphQL端點時,GraphQL引擎會解析該查詢中的每一種請求類型,進而調用解析器來滿足其請求。可以想象,此類方法僅限于在與簡單查詢一起使用時,才能提供卓越的性能。

有時候,查詢的某些部分會被連接到同一個數據源(包括數據庫或第三方API等)。例如,如果我們加載某個用戶的賬號及其地址,它們可能在GraphQL的schema中具有兩種類型,而在數據源中卻只有一條記錄。那么我們同時發出請求的時候,當然不希望服務器對同一個數據源發出兩次查詢請求。

針對上述問題,業界會采用一種被稱為數據加載器(data-loader)的模式。該數據加載器是位于解析器和數據源之間的另一個GraphQL API層。通過簡單的設置,解析器將能夠直接訪問到數據源。而在更為復雜的迭代中,解析器則會告訴數據加載器它們到底需要什么,據此加載器也會針對該目的去訪問數據源。

那么,由此帶來的好處是:數據加載器可以持續等待,直到所有的解析器都已被調用,并且完成了對于數據源的訪問為止。針對上面提到的例子,如果有人想加載用戶的賬號和地址的話,那么只需對數據源發出一個請求便可。

可見,解析器只需了解其對應的需求,而數據加載器則需要知道所有解析器的目的,并據此來優化具體的訪問。

監控GraphQL

有了上面的理論基礎,我們就可以根據自己的架構,在如下多個位置監控GraphQL API了:

HTTP端點:針對那些影響到我們API的所有流量。

GraphQL查詢:針對每個特定的查詢。

GraphQL解析器或數據加載器:針對數據源的每個訪問。

全棧追蹤:針對每個查詢所影響到的解析器和數據加載器。

1. HTTP端點

在GraphQL架構中,通常只有一個HTTP端點,因此在該REST API級別上的監控,往往只能讓我們了解到有關API總體狀態的信息

當然,這只是我們監控的一個起點。如果能夠提供低延遲、低錯誤率的全量信息,而且客戶端并無任何投訴產生的話,那么這些指標完全可以為我們節約后續花在深度監控上的大量時間和精力。但是,如果某個地方出現了問題,我們就需要更深入地進行探究了。

2. GraphQL查詢

下面,我們需要監控每一個查詢,當然主要針對的是那些靜態使用模式(static usage patterns)的API。

如果我們僅將API與自己的客戶端一起使用的話,那么針對固有查詢的變化一般不會經常發生。而如果我們的API需要處理不同客戶端的不同請求,那么查詢請求不但多,而且雜。這些只有細微差別的請求往往會拖慢整體的速度。而消除此類問題的一種做法是:檢查那些最常見的查詢,并對它們實施綜合監控。這就意味著我們需要事先定義一整套查詢和變量的組合,然后從測試客戶端運行之,以獲悉它們的用時。在此基礎上,我們能夠減少在更新時產生的,嚴重影響性能的風險因素。由于持久化查詢可以緩存那些最常用的查詢,因此我們可以用它來解決此類問題。

3. 解析器和數據加載器

如果我們能夠查看到后端所訪問的數據源位置,那么就能夠更好地獲悉如下方面:

是在訪問模式中使用了錯誤的數據源,還是需要改用其他類型的數據庫?

如果數據源類型沒問題的話,那么我們還需要改進對它們的請求方式嗎?我們是否需要添加數據加載器?

那些發送到外部API的請求是否太慢了?我們是否可以將數據復制到更接近后端的位置?

可見,只有當我們能夠看到后端具體查詢的是什么數據時,上述問題的答案才能迎刃而解。

正如我們在前面討論過的:解析器只能允許我們監控單個解析器的運作;而數據加載器使我們能夠在一個請求中查看到所有解析器的工作。那么,數據加載器的另一個附帶好處便是:我們能夠發現解析器之間的問題,并及時予以解決。

4. 全棧跟蹤

最為全面透徹的監控方式當屬:使用tracing-ID來標記查詢,將其傳遞給解析器以完成對該ID的解析,然后傳遞給數據加載器,并最終抵達數據源本身。據此,我們可以使用tracing-ID來記錄時間和錯誤,以便后續對其進行合并,以及了解局部狀態。

當然,在測量查詢時,我們所獲取到的有關解析用時的數據,實際上是數據被加載到解析器和/或數據加載器中進行的,而不是完成查詢解析的用時。畢竟,系統在加載數據時,已不再需要使用查詢了。這也就是GraphQL的核心思想之一:將查詢與實際數據的加載進行解耦(decoupling)。可見,我們通過全棧監控,可以全面地獲悉在發送查詢時,后臺究竟是如何運作的。

結論

總的說來,通過了解GraphQL API的后端結構,我們可以將REST API掛接到目標代碼的不同位置,進而清晰且全面地監控生產系統,以獲悉有關緩存和錯誤處理等方面的問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 監控系統
    +關注

    關注

    21

    文章

    3939

    瀏覽量

    176379
  • API
    API
    +關注

    關注

    2

    文章

    1510

    瀏覽量

    62299
  • GraphQL
    +關注

    關注

    0

    文章

    14

    瀏覽量

    580
收藏 人收藏

    評論

    相關推薦

    碳滑板電阻測試儀如何實現遠程監控和智能維護

    碳滑板電阻測試儀通過集成先進的技術手段,可以實現遠程監控和智能維護,以下是其實現方式的詳細闡述: 一、遠程監控實現 物聯網技術的應用 ·
    的頭像 發表于 01-09 09:21 ?90次閱讀
    碳滑板電阻測試儀如何<b class='flag-5'>實現</b>遠程<b class='flag-5'>監控</b>和智能維護

    如何實現數字孿生?分為以下四步驟

    和優化管理。下面我將詳細介紹如何實現數字孿生以及相關的關鍵步驟和技術。 首先,實現數字孿生的關鍵在于數據的采集、建模、分析和反饋,具體步驟如下: 1.數據采集: 通過各種傳感器、
    的頭像 發表于 11-29 13:57 ?569次閱讀

    LORA模塊如何實現遠程監控

    隨著物聯網(IoT)技術的快速發展,遠程監控系統變得越來越重要。這些系統能夠實時收集和分析數據,從而提高效率、降低成本并增強安全性。LoRa技術作為一種新興的無線通信技術,以其獨特的優勢在遠程監控
    的頭像 發表于 10-31 18:18 ?2695次閱讀

    通過Vf監控實現LED溫度保護

    電子發燒友網站提供《通過Vf監控實現LED溫度保護.pdf》資料免費下載
    發表于 09-25 10:01 ?0次下載
    通過Vf<b class='flag-5'>監控</b><b class='flag-5'>實現</b>LED溫度保護

    使用TPS37x電壓監控監控24V交流系統,實現快速電源故障檢測

    電子發燒友網站提供《使用TPS37x電壓監控監控24V交流系統,實現快速電源故障檢測.pdf》資料免費下載
    發表于 09-24 10:48 ?0次下載
    使用TPS37x電壓<b class='flag-5'>監控</b>器<b class='flag-5'>監控</b>24V交流系統,<b class='flag-5'>實現</b>快速電源故障檢測

    在汽車、寬VIN應用中實現電壓監控

    電子發燒友網站提供《在汽車、寬VIN應用中實現電壓監控.pdf》資料免費下載
    發表于 09-18 10:58 ?0次下載
    在汽車、寬VIN應用中<b class='flag-5'>實現</b>電壓<b class='flag-5'>監控</b>

    在牽引逆變器設計中實現電壓基準和監控

    電子發燒友網站提供《在牽引逆變器設計中實現電壓基準和監控器.pdf》資料免費下載
    發表于 09-18 10:30 ?0次下載
    在牽引逆變器設計中<b class='flag-5'>實現</b>電壓基準和<b class='flag-5'>監控</b>器

    如何創建TestStand自定義步驟

    在之前的課程中簡單地介紹過TestStand自帶的一些步驟類型,如測試、消息彈窗、賦值、標簽等等,這些簡單的步驟從TestStand的插入選版中就可以添加到序列中。那么在使用中如果碰到需要實現更加靈活、復雜的功能,使用自帶的一些
    的頭像 發表于 09-11 14:46 ?1252次閱讀
    如何創建TestStand自定義<b class='flag-5'>步驟</b>

    降壓轉換器實現出色PCB布局的五個步驟

    電子發燒友網站提供《降壓轉換器實現出色PCB布局的五個步驟.pdf》資料免費下載
    發表于 08-26 14:52 ?0次下載
    降壓轉換器<b class='flag-5'>實現</b>出色PCB布局的五個<b class='flag-5'>步驟</b>

    養豬管理如何實現遠程監控

    養豬管理如何實現遠程監控? 在現代化農業快速發展的背景下,養豬管理的智能化與遠程監控技術的應用日益成為提升養殖效率、保障動物健康及優化資源配置的關鍵手段。實現養豬管理的遠程
    的頭像 發表于 07-17 17:26 ?364次閱讀
    養豬管理如何<b class='flag-5'>實現</b>遠程<b class='flag-5'>監控</b>?

    熔池監控相機的原理是什么

    焊接工藝提供了有力支持。本文跟蹤創想智控小編一起了解熔池監控相機的原理和應用。 一、熔池監控相機的基本原理 熔池監控相機主要通過捕捉和分析焊接過程中熔池的圖像來監控焊接質量。其工作原理
    的頭像 發表于 06-13 14:09 ?497次閱讀
    熔池<b class='flag-5'>監控</b>相機的原理是什么

    上位監控程序如何實現

    上位監控程序是一種用于實時監控和管理工業自動化、物聯網設備、網絡設備等的軟件系統。本文將詳細介紹上位監控程序的設計和實現,包括需求分析、系統架構、關鍵技術和開發
    的頭像 發表于 06-07 09:12 ?573次閱讀

    物聯網可視化監控大屏如何實現?有什么功能?

    在物聯網飛速發展的時代,可視化監控大屏成為了眾多企業和機構實現智能化管理和監控的重要工具。它將各種各樣設備的運行狀態和數據以圖形、圖表、動畫等形式展示在大屏或其他移動設備上,使得用戶能夠直觀地了解
    的頭像 發表于 04-11 09:25 ?964次閱讀

    水泥設備如何實現物聯網遠程監控

    水泥設備如何實現物聯網遠程監控? 在當今的工業4.0時代,水泥行業正在經歷一場深度的技術革新,其中構建智慧工廠并采用物聯網遠程監控解決方案成為了提升生產效率、保障產品質量、實現節能減排
    的頭像 發表于 04-02 16:01 ?461次閱讀
    水泥設備如何<b class='flag-5'>實現</b>物聯網遠程<b class='flag-5'>監控</b>?

    淺談煤礦井下電力監控系統的應用

    的電線輸送系統和電腦控制系統構成,才能實現網絡傳輸對電力系統的安全控制和監督。而煤礦井下電力監控系統主要由地面部分、井下電力監測站點和防爆高低壓開關構成。地面部分需要使用狀況良好的計算機保證基本的運算
    發表于 02-01 12:54
    主站蜘蛛池模板: 蜜芽国产在线精品欧美 | 色婷婷狠狠97成为人免费 | 国产中文欧美日韩在线 | 97亚洲狠狠色综合久久久久 | 在线免费公开视频 | 在线亚洲色拍偷拍在线视频 | 国产精品热久久高潮AV袁孑怡 | 午夜亚洲精品不卡在线 | 精品国产免费人成视频 | 久久精品一区二区免费看 | 伊人情涩网 | 中国人泡妞xxxxxxxx19 | 亚洲精品无码AAAAAA片 | 波多久久亚洲精品AV无码 | 精品久久久久久久高清 | 天天狠狠色噜噜 | 亚洲二区电影 | 亚洲午夜AV久久久精品影院色戒 | 久久夜色噜噜噜亚洲AV0000 | 草莓视频在线观看免费观看高清 | 国产三级精品三级在线观看 | 久久亚洲精品无码A片大香大香 | 毛片网站在线观看 | 999视频精品全部免费观看 | 国产成人免费全部网站 | 666永久视频在线 | 国产精品69人妻无码久久久 | 久久aa毛片免费播放嗯啊 | np高h肉辣一女多男 no视频在线观看 | 久久视频在线视频观品15 | 狠狠色丁香久久婷婷综合_中 | 古风H啪肉NP文 | 久久久久夜 | 国产在线aaa片一区二区99 | 久久久高清国产999尤物 | 91免费精品国自产拍在线可以看 | 欧美性爱 成人 | 久久99热这里只频精品6 | 久久草这里全是精品香蕉频线观 | 亚洲日韩乱码人人爽人人澡人 | 亚洲妈妈精品一区二区三区 |