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