支持 8 種協議:dubbo ,hessian , rmi , http, webservice , thrift , memcached , redis 。dubbu 官方推薦使用 dubbo 協議。dubbo 協議默認端口20880
● Dubbo 協議特點
Dubbo 協議采用單一長連接和異步通訊,適合于小數據量大并發的服務調用,以及服務消費者機器數遠大于服務提供者機器數的情況。
● 網絡通
Dubbo 協議底層網絡通信默認使用的是 netty,性能非常優秀,官方推薦使用
● 不適合的地方
Dubbo 協議不適合傳送大數據量的服務,比如傳文件,傳視頻等,除非請求量很低
● 使用 Dubbo 協議
<dubbo:protocol name="dubbo" port="20880" />
Dubbo協議使用的長連接:
短鏈接:
長連接和短連接接:
所謂長連接,指在一個連接上可以連續發送多個數據包,在連接保持期間,如果沒有數據包發送,需要雙方發檢測包。短連接是指通訊雙方有數據交互時,就建立一個連接,數據發送完成后,則斷開此連接,即每次連接只完成一項業務的發送。
長連接多用于操作頻繁,點對點的通訊,而且連接數不能太多情況。例如:數據庫的連接用長連接。像 Web 網站的 http 服務一般都用短鏈接,因為長連接對于服務端來說會耗費一定的資源,而像 Web 網站頻繁的用,使用短連接會更省一些資源,并發量大,但每個用戶無需頻繁操作情況下需用短連好。
點對點的直連項目:消費者直接訪問服務提供者,沒有注冊中心。消費者必須指定服務提供者的訪問地址(url)。