Dubbo(一)

  1. 簡介
    Dubbo是一個(gè)RPC框架

  2. Dubbo使用的協(xié)議:
    dubbo://
    rmi://
    http://
    redis://
    webservice://
    hessian://
    thrift://

默認(rèn)協(xié)議是dubbo
dubbo協(xié)議的使用場景:

  • 數(shù)據(jù)量小高并發(fā)
  • 消費(fèi)者遠(yuǎn)多于服務(wù)提供者
    dubbo協(xié)議采用的是異步單一長連接。
    為什么單一:可以確保一個(gè)消費(fèi)者和提供者只有一個(gè)連接,避免了單一消費(fèi)者多連接增加有功者壓力的風(fēng)險(xiǎn)。
    為什么長連接:TCP連接需要三次握手四次握手,減少了這部分建立斷開的消耗。
    為什么異步:大多數(shù)情況下,消費(fèi)者數(shù)量都是多于提供者的,異步傳輸可以有效減少提供者的壓力。
  1. Dubbo負(fù)載均衡策略:

    • randon loadbalance
      默認(rèn)隨機(jī)調(diào)用??梢栽O(shè)置權(quán)重

    • roundrobin loadbalance
      輪詢,均勻的將請求打到每個(gè)提供者

    • leastactive loadbalance
      自動(dòng)感知,根據(jù)提供者的活躍度,如果某個(gè)機(jī)器的性能非常優(yōu)秀,接受的請求多,則越活躍,則后續(xù)接受到的請求則越多。

    • consistanthash loadbalance
      一致性hash算法,相同參數(shù)的請求一定分發(fā)到一個(gè)provider上。如果provider掛掉了,會(huì)基于虛擬節(jié)點(diǎn)均勻的分配剩余的流量,不會(huì)出現(xiàn)大抖動(dòng)的情況。

  2. Dubbo集群容錯(cuò)策略

  • failover cluster
    失敗自動(dòng)切換, 自動(dòng)重試其它機(jī)器。缺省方案

  • failfast cluster
    一次調(diào)用失敗就立即失敗,常用于寫操作。

  • failsafe cluster
    出現(xiàn)異常時(shí)忽略,常用于不重要的接口調(diào)用,比如記錄日志。

  • failback cluster
    失敗了后臺自動(dòng)記錄請求, 然后定時(shí)重發(fā), 適合寫消息隊(duì)列。

  • forking cluster
    并行調(diào)用多個(gè)provider, 只要一個(gè)成功就立即返回。

  • broadcast cluster
    逐個(gè)調(diào)用所有的provider

下一次寫dubbo的結(jié)構(gòu)層的作用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容