Dubbo-通訊協議

秒懂才叫懂發表於2020-11-28

Dubbo-通訊協議

通過Dubbo的hello world,最讓人好奇的是它是如何通訊的,畢竟和我們常見的http太不一樣了!

一、官網上是怎麼說的

  1. 官網地址

    在這裡插入圖片描述

  2. 推薦使用Dubbo協議,一共有9中協議。官網給了非常明確的答覆。

二、9種協議

為了節約時間,看一下網上對著9中協議的總結參考

  1. dubbo://

    1. Dubbo預設協議採用單一長連線和NIO非同步通訊,適用於小資料量大併發的服務呼叫,以及服務消費者機器遠大於服務提供者機器數量的情況。

    2. 序列化:Hessian二進位制序列化

    3. 傳輸協議TCP

  2. rest://

    1. 基於標準的Java REST API實現的REST呼叫支援
    2. rest風格的http
  3. http://

    1. 採用Spring的HttpInvoker實現

    2. 多連線、短連線

    3. 傳輸協議Http、同步

    4. 序列化:json

    5. 適用場景:資料包大小混合,提供者比消費者個數多,不支援傳檔案

  4. hessian://

    1. hessian協議用於整合hessian的服務

    2. 多連線、短連線

    3. 傳輸協議Http、同步

    4. 序列化:Hessian二進位制序列化

    5. 適用範圍:資料包較大,提供者比消費者多,可傳檔案,或與hessian服務互動

  5. redis://

    1. 用redis實現註冊中心
  6. thrift

    1. The current dubbo support thrift protocol is an extension of the thrift native protocol, adding some additional header information to the native protocol, such as service name, magic number, and so on.
  7. memcached

    1. 用memcached實現註冊中心
  8. rmi://

    1. RMI協議採用jdk標準的java.rmi.*實現,採用阻塞式短連線和JDK標準序列化方式
    2. 傳輸協議TCP
    3. 同步傳輸
    4. 序列化:java標準二進位制序列化
    5. 適用範圍:傳入傳出引數資料包大小混合,消費者與提供者個數差不多,可傳檔案。
  9. webservice

    1. 基於webservice的遠端呼叫協議
    2. 多連線、短連線
    3. 傳輸協議Http,同步傳輸
    4. 序列化:SOAP文字序列化
    5. 適用場景:系統整合,跨語言呼叫

相關文章