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