干翻Dubbo系列第十一篇:Dubbo常見協議與通信效率對比

文章目錄

文章說明

一:協議

1:什么是協議

2:協議和序列化關系

3:協議組成

(一):頭信息

(二):體信息

4:Dubbo3中常見的協議

?5:不同協議的通信效率比較


文章說明


本文內容整理自《孫哥說Dubbo系列視頻課程》,孫帥老師課程細致、全面、深入、性價比極高。B站搜孫帥suns可以找到對應的試聽視頻,或者直接添加老師微信號suns45與他直接聯系

一:協議

1:什么是協議

客戶端[消費者]與服務端[提供者]在傳輸數據時雙?的約定。

大致就是除了咱們通信雙方需要傳遞的真實數據(體信息)還包括大量的描述信息,這個描述信息被稱為頭信息。數據傳遞過去之后,經過反序列化,然后按照協議的描述信息進行拆解傳遞的數據就可以拿到最終的真實傳遞的數據,也就是體信息,比如咱們Http請求的請求參數或者是RPC時候的方法的參數。

2:協議和序列化關系

序列化是協議數據的傳輸?種格式。?的是為了提?協議在?絡傳輸的效率。

同樣的協議化數據,經過不同的序列化手段序列化之后,在網絡傳輸中傳輸的大小是不一致的,具有不同的傳輸效率和對方想要獲取到你實際的協議數據,也需要進行反序列化獲取相應的協議數據,然后進行拆解,最終獲取到真實的傳輸數據。

3:協議組成

(一):頭信息

幻術:為了約束雙方的新人關系,證明這是標準的通信數據的一種格式數據,相當于是通信雙方的街頭暗號。想要通信,暗號不能錯!

序列化方式:數據傳輸的過程中,我們使用的是什么序列化方式,知道了序列化方式之后,我們才能基于具體的序列化方式記性反序列化傳輸過來的數據,然后在拆解協議數據。

操作方向性:客戶端給服務端發情求,還是服務端給客戶端響應請求

狀態信息:基本上就是服務端給客戶端返回的狀態信息

數據大小:數據大小指的是,協議體數據量的大小,解決半包粘包的問題。

(二):體信息

體信息就是數據想要傳輸的信息本身,比說上圖中的JSON

4:Dubbo3中常見的協議

dubbo協議:

dubbo在默認情況下使用的是dubbo協議,這是Dubbo定義的私有協議,應用在TCP層次。

rest協議:

rest協議這里主要是Http協議。為什么rest協議也很重要,Dubbo支持這個協議之后,就可以跟SpringCloud進行無縫對接了。

triple協議:

Dubbo3開發的新協議。

grpc協議:

云原生時代,GRPC十分重要了,Dubbo想要與云原生進行結合,必須支持GRPC。

剩下還有:thrift協議?webservice協議、rocketmq協議、redis協議、memcached協議,了解就好,用的很少。

?5:不同協議的通信效率比較

看到這個東西我們可以明確兩個概念:

1:不同的協議,可以挑選不同的序列化方案。

2:不同的序列化方案和通信協議組合,對應的通信效率也是有很大的差異。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41368.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41368.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41368.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

華為在ospf area 0單區域的情況下結合pbr對數據包的來回路徑進行控制

配置思路: 兩邊去的包在R1上用mqc進行下一跳重定向 兩邊回程包在R4上用mqc進行下一跳重定向 最終讓內網 192.168.10.0出去的數據包來回全走上面R-1-2-4 192.168.20.0出去的數據包來回全走 下面R1-3-4 R2和R3就是簡單ospf配置和宣告,其它沒有配置&#…

搭建grafana+loki+promtail日志收集系統

準備工作 下載地址 https://github.com/grafana/loki/releases 安裝包放在服務器目錄:/opt wget https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip wget https://github.com/grafana/loki/releases/download/v2.4.2/promtail-lin…

【備戰csp-j】csp常考題目詳解(3)

三.排列組合 1. 7名學生站成一排,甲、乙必須站在一起有多少不同排法? 答案:1440 解析: 6組人進行全排列:A(6,6); 甲和乙的順序有兩種情況,所以結果要再乘2; …

影響力再度提升,Smartbi多次蟬聯Gartner、IDC等權威認可

近期,思邁特軟件捷報頻傳,Smartbi憑借技術創新實力和產品能力,成功入選Gartner中國增強數據分析代表廠商及自助分析代表廠商,同時,連續三年蟬聯“IDC中國FinTech 50”榜單。 Part.1 再次被Gartner提名 Smartbi深度融…

重塑DTC規則:元氣森林的全渠道轉型

元氣森林作為迄今為止用5-6年時間最快達到70億年銷售額的飲料品牌(統一、可口可樂、東鵬特飲都花了15年左右,康師傅花了10年)。元氣森林于2016年在北京創立,憑借健康產品理念和新潮營銷方式,一款主打“0糖0卡0脂”概念…

激活函數總結(十一):激活函數補充(Absolute、Bipolar、Bipolar Sigmoid)

激活函數總結(十一):激活函數補充 1 引言2 激活函數2.1 Absolute激活函數2.2 Bipolar激活函數2.3 Bipolar Sigmoid激活函數 3. 總結 1 引言 在前面的文章中已經介紹了介紹了一系列激活函數 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、…

C++ auto關鍵字

文章目錄 一、auto的推導規則二、auto的限制 C11 中有:auto 類型推導 auto x 5; // OK: x 是 int 類型 auto pi new auto(1); // OK: pi 被推導為 int* const auto *v &x, u 6; // OK: v是const int*類型,u是const int類型 static auto y 0.0;…

【Java】批量生成條形碼-itextpdf

批量生成條形碼 Controller ApiOperation("商品一覽批量生成商品條形碼")PostMapping("/batchGenerateProdBarCode")public void batchGenerateProdBarCode(RequestBody ProductListCondition productListCondition,HttpServletResponse response){import…

使用Spring-Security后,瀏覽器不能緩存的問題

Spring-Security在默認情況下是不允許客戶端進行緩存的,在使用時可以通過禁用Spring-Security中的cacheControl配置項允許緩存。 protected void configure(HttpSecurity http) throws Exception {// 允許緩存配置http.headers().cacheControl().disable(); }

Java中使用流將兩個集合根據某個字段進行過濾去重?

Java中使用流將兩個集合根據某個字段進行過濾去重? 在Java中,您可以使用流(Stream)來過濾和去重兩個集合。下面是一個示例代碼,展示如何根據對象的某個字段進行過濾和去重操作: import java.util.ArrayList; import java.util.List; impor…

“代碼馭寵而行“:探索Python的魔法世界,開啟編程奇幻之旅!

文章目錄 🍀引言🍀第一步:安裝Python和開發環境🍀第二步:掌握基本語法🍀第三步:使用Python庫和模塊🍀第四步:實踐項目和練習🍀第五步:學習進階主題…

origin修改默認的字體等

因為默認是中文宋體,每次切換成英文尤其是希臘字母就很麻煩。 選擇菜單欄的【設置】——【選項】點擊。 彈出窗口中選擇【文本字體】 設置成你需要的字體就好。 這里同樣可以更改頁面、圖等的默認設置。 效果: 選擇插入文字后,自動更改成…

銀河麒麟V10 達夢安裝教程

安裝前先準備要安裝包,包需要需要區分X86和arm架構。 版本為:dm8_20230419_FTarm_kylin10_sp1_64.iso 達夢數據庫下載地址: https://www.aliyundrive.com/s/Qm7Es5BQM5U 第一步創建用戶 su - root 1. 創建安裝用戶組 dminstall。 groupad…

前饋神經網絡優化器

引用的知乎上的文章內容,現在有些地方還不太明白,留待以后查看。 import math import numpy as np import matplotlib.pyplot as pltRATIO 3 # 橢圓的長寬比 LIMIT 1.2 # 圖像的坐標軸范圍class PlotComparaison(object):"""多種優化…

Python爬蟲的應用場景與技術難點:如何提高數據抓取的效率與準確性

作為專業爬蟲程序員,我們在數據抓取過程中常常面臨效率低下和準確性不高的問題。但不用擔心!本文將與大家分享Python爬蟲的應用場景與技術難點,并提供一些實際操作價值的解決方案。讓我們一起來探索如何提高數據抓取的效率與準確性吧&#xf…

python3實現線性規劃求解

Background 對于數學規劃問題,有很多的實現。MatlabYALMIPCPLEX這個組合應該是比較主流的,尤其是在電力相關系統中占據著比較重要的地位。MATLAB是一個強大的數值計算工具,用于數學建模、算法開發和數據分析。Yalmip是一個MATLAB工具箱&#…

MongoDB:MySQL,Redis,ES,MongoDB的應用場景

簡單明了說明MySQL,ES,MongoDB的各自特點,應用場景,以及MongoDB如何使用的第一章節. 一. SQL與NoSQL SQL被稱為結構化查詢語言.是傳統意義上的數據庫,數據之間存在很明確的關聯關系,例如主外鍵關聯,這種結構可以確保數據的完整性(數據沒有缺失并且正確).但是正因為這種嚴密的結…

神經網絡基礎-神經網絡補充概念-34-正則化

概念 正則化是一種用于控制模型復雜度并防止過擬合的技術,在機器學習和深度學習中廣泛應用。它通過在損失函數中添加一項懲罰項來限制模型的參數,從而使模型更傾向于選擇簡單的參數配置。 理解 L1 正則化(L1 Regularization)&a…

數據分析 | Boosting與Bagging的區別

Boosting與Bagging的區別 Bagging思想專注于降低方差,操作起來較為簡單,而Boosting思想專注于降低整體偏差來降低泛化誤差,在模型效果方面的突出表現制霸整個弱分類器集成的領域。具體區別體現在如下五點: 弱評估器:Ba…

vb數控加工技術教學素材資源庫的設計和構建

摘 要 20世紀以來,社會生產力迅速發展,科學技術突飛猛進,人們進行信息交流的深度與廣度不斷增加,信息量急劇增長,傳統的信息處理與決策的手段已不能適應社會的需要,信息的重要性和信息處理問題的緊迫性空前提高了,面對著日益復雜和不斷發展,變化的社會環境,特別是企業…