Dubbo使用集錦

dubbo 啟動(dòng)時(shí)會(huì)出現(xiàn)多個(gè)IP

注冊(cè)中心配置的地址是127.0.0.1,但會(huì)出現(xiàn)另外一個(gè)ip
ping這個(gè)ip是ping通,但問網(wǎng)管卻沒有這個(gè)ip
然后通過ifconfig -a|grep {這個(gè)IP} 就出現(xiàn)在vmnetwork里,
這證明是虛擬機(jī)網(wǎng)卡ip

dubbo啟動(dòng)訂閱服務(wù)或暴露服務(wù)特別慢

dubbo注冊(cè)中心默認(rèn)緩存文件會(huì)上鎖

當(dāng)多個(gè)provider使用同一個(gè)注冊(cè)中心同時(shí)啟動(dòng)時(shí)會(huì)出現(xiàn)緩存文件上鎖,導(dǎo)致不能正常啟動(dòng),
默認(rèn)是從 ~/.dubbo/ 目錄下一個(gè)文件作為緩存文件,
需要為不同的provider 配置緩存文件位置,即:
<pre>
<dubbo:registry file="XXX" />
</pre>

dubbo telnet 調(diào)試

登錄到指定的provider
<pre>
telnet {provider所在ip} {provider的暴露端口}
e.g: telnet 127.0.0.1 2206
</pre>

查看當(dāng)前provider的服務(wù)
<pre>
ls
</pre>

查看指定服務(wù)的所有方法
<pre>
ls xxxService
</pre>

調(diào)用方法(具體怎么調(diào)用在查一下)
<pre>
invoke xxxService xxxx
</pre>

dubbo-admin 查看服務(wù)報(bào)404錯(cuò)誤

原因是服務(wù)分組名稱使用了ip地址作為分組名稱,改為非ip地址就可以了,或者換個(gè)分組名稱。

dubbo啟動(dòng)時(shí)非常慢

下面是在網(wǎng)上找到的其中一個(gè)描述

Zookeeper連接速度很慢,Dubbo初始化很慢,應(yīng)用啟動(dòng)很慢的問題
發(fā)現(xiàn)線下環(huán)境遷移到新機(jī)器后,應(yīng)用啟動(dòng)變得很慢,本來十幾秒啟動(dòng)的應(yīng)用,變成幾分鐘才能啟動(dòng)。
啟動(dòng)過程沒有報(bào)錯(cuò),只是Dubbo的注冊(cè)信息日志一直在比較慢地刷。
開始懷疑是網(wǎng)絡(luò)問題,但是檢查了iptables沒有開啟,用iptraf查看流量,也不高。機(jī)器的空閑內(nèi)存也足夠。
再檢查Zookeeper的配置,磁盤的空間,應(yīng)用的dubbo配置,jvm配置,發(fā)現(xiàn)都沒有問題。
沒辦法了,用jprofiler來測(cè)試下,發(fā)現(xiàn)“org.I0Itec.zkclient.ZkClient$1.call”,這個(gè)調(diào)用耗時(shí)比較大。
這樣確認(rèn)是zookeeper本身比較慢,不是應(yīng)用的問題。
用下面的zookeeper benchmark工具測(cè)試了下性能,發(fā)現(xiàn)read速度還可能,create/write速度非常慢,qps只有個(gè)位數(shù)。
于是問了下運(yùn)維的同事,原來新機(jī)器是用共享磁盤的,所以速度很慢。
而zookeeper每次write請(qǐng)求都要寫到log日志,并刷到磁盤里,所以非常的慢。
后來運(yùn)維的同事?lián)Q為本地磁盤,一切恢復(fù)正常。
http://blog.csdn.net/hengyunabc/article/details/19006911

而我發(fā)現(xiàn)的解決方法是:
如果是本地開發(fā)機(jī)器的話,那要把 源代碼項(xiàng)目 切換一下其他目錄,重新把源代碼check out 下來,重新編譯,最后運(yùn)行就可以了,不知道是為什么
如果這種方法不行,那換個(gè)zookeeper服務(wù)。

我這里用的是idea + maven 來調(diào)試的,有時(shí)候idea 啟動(dòng)dubbo服務(wù)的時(shí)候突然變得很慢,也是不知道為什么,可能跟idea 啟動(dòng)時(shí)的參數(shù)有關(guān)系,cd 到服務(wù)主程序jar目錄,并通過java -jar 的方式來運(yùn)行 跟idea運(yùn)行 的jar文件的話,又很快。。。所以后來重新導(dǎo)入一下項(xiàng)目,又可以了,估計(jì)是有一些文件可能生成了以后沒有清除掉。

另外還發(fā)現(xiàn)一個(gè)問題,突然變慢可能跟 debug 跟run 模式有關(guān)系,使用debug模式要30分鐘才能啟動(dòng)好,用run模式就跟普通 java -jar模式運(yùn)行差不多。

而且當(dāng)我用run模式跑了以后,再切換debug模式并且把所有斷點(diǎn)清除掉,就恢復(fù)正常了。

原來還以為是zookeeper有問題,在zookeeper發(fā)現(xiàn)日志:

Got user-level KeeperException when processing sessionid:0x15eadf1e4610001 type:create cxid:0x4fb zxid:0x6ba txntype:-1 reqpath:n/a Error Path:/dubbo Error:KeeperErrorCode = NodeExists for /dubbo

結(jié)果發(fā)現(xiàn)不是.........

找到了官方github 方法:
https://github.com/alibaba/dubbo/issues/885

dubbo 打Jar包時(shí),有一些非maven倉庫(即scope=syetem的)依賴包無法放進(jìn)classpath里

http://www.lxweimin.com/p/8ef0b5cdcd44

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • Dubbo是什么 Dubbo是Alibaba開源的分布式服務(wù)框架,它最大的特點(diǎn)是按照分層的方式來架構(gòu),使用這種方式...
    Coselding閱讀 17,287評(píng)論 3 196
  • 內(nèi)容簡(jiǎn)介此篇文章是介紹Dubbo以及它的簡(jiǎn)單使用,會(huì)列舉運(yùn)用spring boot + dubbo搭建項(xiàng)目運(yùn)用du...
    Little_Dragon_閱讀 846評(píng)論 0 3
  • 前段時(shí)間在簡(jiǎn)書看到一篇文章《我近七年的失敗經(jīng)歷》,又引起了我心中很深層次的焦慮或者說困惑。高中時(shí)班級(jí)里牛人眾多,有...
    不是蘋果閱讀 271評(píng)論 6 1
  • 冉:干嘛盯著我看? 我:我突然間不喜歡男神了! 冉:怎么了突然之間,電光火石,我做了什么嗎? 我:沒有就是突然間不...