dubbo與http區別

dubbo與http區別


相關概念

  • RPC、REST、Dubbo、HTTP、RMI區別
    • RPC、REST區別,通俗講兩者API設計風格不同,如下:
功能 RPC RESTful
提交功能 POST/submit POST/goods
查看商品列表 GET/lists?index=1 POST/goods/1234
  • 兩種風格的API區別:
    • RPC面向過程,只發送 GET 和 POST 請求。GET用來查詢信息,其他情況下一律用POST。請求參數是動詞,直接描述動作本身。
    • RESTful面向資源,使用 POST、DELETE、PUT、GET 請求,分別對應增、刪、改、查操作。請求參數是名詞,這個名詞就是“增刪改查”想要操作的對象。

RPC與dubbo區別

  • PRC全稱是Remote Procedure Call,即遠程過程調用<通信方式的一種>,不僅僅是一種api設計風格。這個"遠"的概念也不一定是跨越網絡的,同一臺主機的兩個進程之間相互交流也完全可以是RPC。
  • Dubbo是一種分佈式服務框架也是一種協議,dubbo框架默認使用dubbo協議。dubbo協議是阿里巴巴自己實現的一種應用層協議,傳輸層還是TCP。所以Dubbo協議與HTTP、FTP,SMTP這些應用層協議是並列的概念。除了默認的Dubbo協議,Dubbo框架還支持RMI、Hessian、HTTP等協議。

rpc與http區別

  • rpc是一種網絡請求通信方式
  • http是應用層協議
    • 常見Controller層接口基本是基於http協議的rpc通信
    • socket API是基於TCP協議的rpc通信
      附:RMI其實就是一種RPC的實現, 很早在jdk1.1實現。RMI的通信方式是把Java對象序列化爲二進制格式,接收方收到以後再進行反序列化,侷限java編程。

dubbo與http

  • Dubbo 接口:
    • Dubbo 接口是阿里巴巴開源的致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。
    • dubbo框架告別了傳統的web service的服務模式,進而改用provider和consumer模式進行服務。
  • 爲什麼是高性能的呢?
    • 可以在某個服務器集羣中提供單一專注的服務,這樣不與其他服務混雜,同時dubbo接口有SOA調度通過監控每臺服務器而實現負載均衡。
    • consumer端無需關注provider端如何實現,只需在註冊中心訂閱即可到相應服務器請求服務,這樣就實現了高性能和透明化。
    • 說到底,Dubbo接口就是一個分佈式服務框架。
  • 爲什麼要用Dubbo 接口:
    • 互聯網應用及用戶數據規模變大,傳統的垂直架構滿足不了需求,因此急需分佈式服務架構以及流動計算架構。
    • 區別:

1、協議層區別
- HTTP ,HTTPS 使用的是 應用層協議 應用層協議:定義了用於在網絡中進行通信和傳輸數據的接口
- DUBBO接口使用的是 TCP/IP是傳輸層協議 傳輸層協議:管理着網絡中的端到端的數據傳輸;因此要比 HTTP協議快
2、socket 層區別
- dubbo默認使用socket長連接,即首次訪問建立連接以後,後續網絡請求使用相同的網絡通道
- http1.1協議默認使用短連接,每次請求均需要進行三次握手,而http2.0協議開始將默認socket連接改爲了長連接(keep-alive)


服務架構變遷
  • 變化原因:系統複雜度的增長,追求高效率開發和管理
  • 類別:
    • 單一應用架構
      • 網站流量小,單一應用。所有功能部署在一起,減少部署節點及成本。
      • 此時,用於簡化增刪改查工作量的 數據訪問框架(ORM) 是關鍵。
    • 垂直應用架構
      • 所謂垂直即是分層,訪問量增大,單一應用滿足不了快速迭代,分成多個互相獨立的應用。
      • 此時,加速前端頁面開發的MVC是關鍵
    • 分佈式服務架構
      • 當垂直應用越來越多,應用之間交互不可避免,將核心業務抽取出來,作爲獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。
      • 此時,用於提高業務複用及整合的 分佈式服務框架(RPC) 是關鍵。
    • 流動計算架構
      • 當服務愈多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基於訪問壓力實時管理集羣容量,提高集羣利用率。
      • 此時,用於提高機器利用率的 資源調度和治理中心(SOA) 是關鍵
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章