欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用gRPC微服務的內部通信優(yōu)化

 更新時間:2022年03月08日 16:20:36   作者:字母哥哥  
這篇文章主要為大家介紹了微服務優(yōu)化之使用gRPC做微服務的內部通信,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

使用gRPC做微服務的內部通信

gRPC是一個由Google開源的遠程服務調用框架,具有多路復用和雙向流式通信的特性。

大家好,在本文中將為大家介紹為什么我們應該使用gRPC代替RESTful或JSON,來開發(fā)微服務內部的通信接口。

什么是gRPC?

gRPC是一個高性能的、開源的、普遍通用的RPC框架。簡單地說,它能夠幫助我們建立透明的服務端和客戶端通信系統(tǒng)。Google開發(fā)了GRPC并且將其開源。 通過它,一個客戶端消費者服務可以像調用本地方法一樣,調用另一臺主機上面的服務端方法。

gRPC本質上仍然遵循常規(guī)的Remote Procedure Call (RPC) 技術,但是在實現(xiàn)上使用了HTTP2.0、協(xié)議緩沖區(qū)等更現(xiàn)代化的技術方案,從而最大程度上確保服務端和客戶端的互操作性及性能上的提升。

服務之間如何使用gRPC通信?

當客戶端向服務端發(fā)起請求的時候,客戶端gRPC類庫使用協(xié)議緩沖區(qū)并且封裝遠程過程調用(RPC),并且將其通過HTTP2發(fā)送到服務端。服務端將其拆封,并且使用協(xié)議緩沖區(qū)調用對應的程序。響應數(shù)據(jù)的過程和發(fā)送請求的過程是類似的,只不過一個是從客戶端到服務端,一個是從服務端到客戶端。

從開發(fā)的角度,在服務端和客戶端使用gRPC最大的好處在于:你的服務端的代碼和客戶端的代碼不需要擔心它會影響你解析JSON或者其他類似的文本格式消息。gRPC雖然接收到的是二進制格式,但會并將其反序列化為對象。同樣的我們可以通過IDL來定義服務接口,IDL是非常強大的一個特性,幫助我們處理多個微服務之間的互操作。

為什么gRPC是高效的?

  • 它基于HTTP2構建,既支持傳統(tǒng)的請求-響應模型,也支持雙向流模型。
  • 可以將JSON數(shù)據(jù)轉換到協(xié)議緩沖區(qū)
  • 多路復用
  • 雙向流模型
  • 網絡傳輸?shù)氖嵌M制數(shù)據(jù),相對于JSON等文本數(shù)據(jù)更加輕量級。
  • 多語言支持

什么時候使用gRPC?

最初,幾乎所有的微服務之間都是通過JSON數(shù)據(jù)接口通信的,一個服務可能調用空一個服務或者多個服務,被調用的服務可能還調用其他服務。如果其中任何一個服務運行緩慢,將影響整個系統(tǒng)的運行速度,因為RESTful(JSON) API不支持HTTP2的多路復用和雙向流模型。傳統(tǒng)的RESTful接口使用JSON、XML或者其他的一些格式作為數(shù)據(jù)載體,使得服務運行緩慢,內存占用較高、并且傳輸過程沒有壓縮。

gRPC解決所有的這些問題,但是它僅僅用于系統(tǒng)應用微服務之間的通信的情況,系統(tǒng)的對外服務接口仍然使用HTTP-JSON接口。這樣保證對外部用戶的開發(fā)技術棧沒有任何影響。

總結 Conclusion

與傳統(tǒng)REST API相比,使用gRPC創(chuàng)建的API可以為你的應用帶來令人難以置信的性能改進。

以上就是使用gRPC微服務的內部通信優(yōu)化的詳細內容,更多關于gRPC微服務內部通信的資料請關注腳本之家其它相關文章!

相關文章

  • Java加密解密和數(shù)字簽名完整代碼示例

    Java加密解密和數(shù)字簽名完整代碼示例

    這篇文章主要介紹了Java加密解密和數(shù)字簽名完整代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • 一文詳解Java方法重載與遞歸應用

    一文詳解Java方法重載與遞歸應用

    方法重載 允許在同一個類中定義多個具有相同名稱的方法,但 參數(shù)列表 必須不同,遞歸 是一種讓函數(shù)調用自身的技術,它提供了一種將復雜問題分解為簡單問題的方法,這樣更容易解決,本文詳細介紹了Java方法重載與遞歸應用,需要的朋友可以參考下
    2024-02-02
  • 解讀jdk動態(tài)代理為什么必須實現(xiàn)接口

    解讀jdk動態(tài)代理為什么必須實現(xiàn)接口

    這篇文章主要介紹了解讀jdk動態(tài)代理為什么必須實現(xiàn)接口問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • IDEA打開項目所有東西都在報紅報錯的解決方案

    IDEA打開項目所有東西都在報紅報錯的解決方案

    這篇文章主要給大家介紹了關于IDEA打開項目所有東西都在報紅報錯的三個解決方案,文中通過圖文介紹的非常詳細,對大家學習或者使用idea具有一定的參考學習價值,需要的朋友可以參考下
    2023-06-06
  • jvm中指定時區(qū)信息user.timezone問題及解決方式

    jvm中指定時區(qū)信息user.timezone問題及解決方式

    同一份程序使用時間LocalDateTime類型,在國內和國外部署后,返回的時間信息前端使用出問題,這篇文章主要介紹了jvm中指定時區(qū)信息user.timezone問題及解決方法,需要的朋友可以參考下
    2023-02-02
  • pageHelper一對多分頁解決方案示例

    pageHelper一對多分頁解決方案示例

    這篇文章主要為大家介紹了pageHelper一對多分頁解決方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Java NIO三大組件與ByteBuffer深入理解及使用

    Java NIO三大組件與ByteBuffer深入理解及使用

    這篇文章主要介紹了Java NIO三大組件與ByteBuffer,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01
  • 數(shù)據(jù)結構與算法之并查集(不相交集合)

    數(shù)據(jù)結構與算法之并查集(不相交集合)

    并查集是一種挺高效的數(shù)據(jù)結構。實現(xiàn)簡單,只是所有元素統(tǒng)一遵從一個規(guī)律所以讓辦事情的效率高效起來。這篇文章主要介紹了數(shù)據(jù)結構與算法——并查集(不相交集合),需要的朋友可以參考下
    2019-11-11
  • JavaWeb實現(xiàn)用戶登錄與注冊功能

    JavaWeb實現(xiàn)用戶登錄與注冊功能

    這篇文章主要為大家詳細介紹了JavaWeb實現(xiàn)用戶登錄與注冊功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java 如何將前端傳來的數(shù)字轉化為日期

    Java 如何將前端傳來的數(shù)字轉化為日期

    這篇文章主要介紹了Java 如何將前端傳來的數(shù)字轉化為日期,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-06-06

最新評論