基於Http協議的rpc通信(SpringCloud微服務)與基於TCP協議的rpc通信(Dubbo+Zookeeper)區別與聯系


分布式通信的兩種方式:基於Http協議的rpc通信(SpringCloud微服務)與基於TCP協議的rpc通信(Dubbo+Zookeeper)。

RPC

RPC(Remote Procedure Call:遠程過程調用):是一種進程間通信方式,是一種技術的思想,而不是規范。它允許程序調用另一個地址空間(通常是共享網絡的另一台機器上)的過程或函數,而不用程序員顯式編碼這個遠程調用的細節。即程序員無論是調用本地的還是遠程的函數,本質上編寫的調用代碼基本相同。通俗的說法就是:比如說現在有兩台服務器A和B,一個應用部署在A服務器上,另一個應用部署在B服務器上,如果A應用想要調用B應用提供的方法,由於他們不在一台機器下,也就是說它們不在一個JVM內存空間中,是無法直接調用的,需要通過網絡進行調用,那這個調用過程就叫做RPC。

RPC兩個核心模塊:通訊,序列化。

注意:無論是何種類型的數據,最終都需要序列化轉換成二進制流在網絡上進行傳輸,數據的發送方需要將對象序列化轉換為二進制流,而數據的接收方則需要把二進制流反序列化為對象。

RPC通信框架:Dubbo

Restful

Restful 指的是一組架構約束條件和原則。" 如果一個架構符合 Restful 的約束條件和原則,就稱它為 Restful 架構。隱藏在 Restful 背后的理念就是使用 Web的現有特征和能力,更好地使用現有 Web 標准中的一些准則和約束。雖然 Restful 本身受 Web技術的影響很深, 但是理論上 Restful 架構風格並不是綁定在 HTTP 上,只不過目前 HTTP 是唯一與 Restful 相關的實例。 所以我們這里描述的 Restful 也是通過 HTTP 實現的 Restful。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM