1. 程式人生 > >dubbo為什麽不適合傳大包

dubbo為什麽不適合傳大包

最大 數據包 cond 服務提供者 什麽 集線器 con bit 參考

為什麽不能傳大包?
因 dubbo 協議采用單一長連接,如果每次請求的數據包大小為 500KByte,假設網絡為千兆網卡 ,每條連接最大 7MByte(不同的環境可能不一樣,供參考),單個服務提供者的 TPS(每秒處理事務數)最大為:128MByte / 500KByte = 262。單個消費者調用單個服務提供者的 TPS(每秒處理事務數)最大為:7MByte / 500KByte = 14。如果能接受,可以考慮使用,否則網絡將成為瓶頸。

前提:單一長連接(最主要)
分為服務端和消費端進行分析:

服務端受網卡約束,(會接收多條連接(消費端),單個連接不會成為瓶頸)
1024Mbit=128MByte

單個連接為什麽最大7MByte?(56Mbps)

    Mbps=Mbit/s即兆比特每秒(1,000,000bit/s),Million bits per second的縮寫是一種傳輸速率單位,指每秒傳輸的位(比特)數量。
    傳輸速率是指設備的的數據交換能力,也叫“帶寬”,單位是Mbps(兆位/秒),目前主流的集線器帶寬主要有10Mbps、54Mbps/100Mbps自適應型、100Mbps和150Mbps四種。

所以,服務端受網卡限制。不受單條連接限制。單條連接受帶寬限制。

通俗講就是服務端接收多個客戶端,不受單個連接傳輸速率限制。千兆網卡1024Mbit(128MByte).
單條連接傳輸受帶寬限制,如果帶寬為54Mbps,那麽最大每秒傳輸為54Mbps/8約等於7MByte。

dubbo為什麽不適合傳大包