dubbo配置屬性都有哪些
1. bbo 自定義filter有幾種配置方式
Dubbo的Filter是一個調用另一個的,最後再執行業務代碼。 在這一行調下一個Filter,那麼寫在這行代碼前面的代碼就是在業務代碼前攔截了,寫在之後的代碼就是執行完業務代碼後攔截了。
2. Dubbo的分布式系統需要配置哪些環境
bbo實現了分布式遠程調用框架,多運行節點既能提高可靠性,又能提升負載能力。bbo配置主要有注冊中心(推薦zookeeper或redis)、提供者provider、消費者consumer,注冊中心是第三方實現,所以主要配置好服務提供者和消費者就可以了。實際上服務介面和實現都是需要我們自己設計和實現的,bbo做的事情就是將服務實現發布到注冊中心,然後消費者從注冊中心訂閱服務介面,之後對介面的調用就由bbo調度提供者去執行並返回結果。以下配置都有源碼,見右側「免費資源」。
提供者provider的配置:提供者是獨立運行的節點,可以多實例運行,將服務注冊到注冊中心
必須要有application name,注冊中心配置zookeeper,協議bbo,超時6秒失敗不重試,提供者載入repository和service層bean,然後發布介面service。
3. bbo配置文件中register="false" 什麼意思
register="true"時才能通過zookeeper找到相應介面的實現(由provider配置)
如果配置成register="false",表示當前系統的服務不發布到注冊中心,部署到生產後,web端會無法啟動服務,在使用該介面的controller里會報錯。
4. bbo的提供者和消費者的配置的區別
意思就是zk是一個第三方的注冊中心,消費者和提供者都通過第三方調度的,消費者不用care是誰提供的服務,只負責調用就好了
5. springmvc+bbo配置問題
換個javassist包,比如javassist-3.18.2-GA.jar,一定是某些版本的包中少了相關的類導致類載入失敗
6. bbo 配置文件中怎麼做聲明
Dubbo預設會在啟動時檢查依賴的服務是否可用,不可用時會拋出異常,阻止Spring初始化完成,以便上線時,能及早發現問題,默認check=true。
如果你的Spring容器是懶載入的,或者通過API編程延遲引用服務,請關閉check,否則服務臨時不可用時,會拋出異常,拿到null引用,如果check=false,總是會返回引用,當服務恢復時,能自動連上。
可以通過check="false"關閉檢查,比如,測試時,有些服務不關心,或者出現了循環依賴,必須有一方先啟動。
1、關閉某個服務的啟動時檢查:(沒有提供者時報錯)
<bbo:reference interface="com.foo.BarService" check="false" />
2、關閉所有服務的啟動時檢查:(沒有提供者時報錯) 寫在定義服務消費者一方
<bbo:consumer check="false" />
3、關閉注冊中心啟動時檢查:(注冊訂閱失敗時報錯)
<bbo:registry check="false" />
7. bbo客戶端和引用的服務端要配置在一個dobbu.xml文件中嗎
直連加不發布服務DUBBO的配置屬性裡面對消費端提供了不從注冊中心發現服務的機制,直接配置遠程介面的地址,這樣可以保證消費端連接到制定的環境介面。這樣消費端是解決了問題,但是服務提供端呢?如上圖的B1它即是消費端也是服務提供端,它提供A1所依賴的介面,那麼如果B1將它的服務發布到注冊中心裏面(這里需要提醒,STABLE環境機制裡面所有子環境公用一個注冊中心),那麼勢必會導致stable環境裡面的A會發現B1提供的服務?勢必會導致stable環境的不穩定(stable環境的機制是stable環境只能進不能出,就是不能調用外部其他子環境的服務)?所以B1不能發布服務到注冊中心,bbo也提供了相關的配置屬性來支持這一點。下面我例舉出通過哪些配置可以實現這種方案:服務消費端:DUBBO在消費端提供了一個url的屬性來指定某個服務端的地址默認的方式是從注冊中心發現介面為com.alibaba.bbo.demo.HelloWorldService的服務,但是如果需要直連,可以在bbo.properties下面配置bbo.reference.helloWorldService.url=bbo://ip:port/com.alibaba.bbo.demo.HelloWorldService可以通過配置bbo.reference.url=bbo://ip:port/來讓某個消費者系統的服務都指向制定的伺服器地址(關於配置信息可以參考《DUBBO配置規則詳解》)
8. myeclipse怎麼手動配置bbo約束
一、從myEclipse工作空間中刪除工程,重新進行配置
二、在bbo工程中刪除myEclipse中生成的工程配置文件".project"(前面功能主要是為了下載代碼,直接使用Git命令或者git客戶端也可以實現,這里我使用myEclipse是為了展示egit插件):
三、使用maven命令編譯項目需要的jar,或自動編譯後生成到maven本地倉庫:
1.使用dos進入check下來的源代碼目錄:
2.使用"mvn clean install -Dmaven.test.skip"命令進行編譯:
3.編譯完成出現「BUILD SUCCESS」,表示編譯完成,如下:
四、使用maven命令將工程轉化成eclipse工程:
1.使用"mvn eclipse:eclipse"命令轉化工程:
2.執行過程如下:
3.執行完成,出現「BUILD SUCCESS」,表示編譯並轉化完成,如下:
五、使用myEclipse導入全部工程:
1.首先設置整個工程目錄的編碼為UTF-8:
2.然後選擇工程導入,步驟如下:
3.導入完成,myEclipse會自動掃描代碼和編譯,編譯完成後如下:
六、解決工程錯誤:
1.打開錯誤提示,會發現工程有2處錯誤:
2.解決Java編譯版本的問題,解決完成myEclipse自定編譯後,錯誤提示消失:
3.解決bbo標簽不識別問題,引入bbo.xsd文件,即可:
4.clean下工程,讓myEclipse再次編譯下工程:
5.編譯完成,錯誤提示消失,至此全部工程配置完畢。
9. linux查看bbo注冊哪些服務
直連加不發布服務
DUBBO的配置屬性裡面對消費端提供了不從注冊中心發現服務的機制,直接配置遠程介面的地址,這樣可以保證消費端連接到制定的環境介面。這樣消費端是解決了問題,但是服務提供端呢?如上圖的B1它即是消費端也是服務提供端,它提供A1所依賴的介面,那麼如果B1將它的服務發布到注冊中心裏面(這里需要提醒,STABLE環境機制裡面所有子環境公用一個注冊中心),那麼勢必會導致stable環境裡面的A會發現B1提供的服務?勢必會導致stable環境的不穩定(stable環境的機制是stable環境只能進不能出,就是不能調用外部其他子環境的服務)?所以B1不能發布服務到注冊中心,bbo也提供了相關的配置屬性來支持這一點。下面我例舉出通過哪些配置可以實現這種方案:
服務消費端:
DUBBO在消費端提供了一個url的屬性來指定某個服務端的地址
<!--lang:xml-->
<bbo:reference interface="com.alibaba.bbo.demo.HelloWorldService" check="false" id="helloWorldService"/>
默認的方式是從注冊中心發現介面為com.alibaba.bbo.demo.HelloWorldService的服務,但是如果需要直連,可以在bbo.properties下面配置bbo.reference.helloWorldService.url=bbo://ip:port/com.alibaba.bbo.demo.HelloWorldService可以通過配置bbo.reference.url=bbo://ip:port/來讓某個消費者系統的服務都指向制定的伺服器地址(關於配置信息可以參考《DUBBO配置規則詳解》)
10. 怎麼設置bbo的xml配置讓maven載入進去
現在很流行的Dubbo很多朋友都聽說過吧,最近我也在看這方面的東西,分享先我的心得筆記。
先說說我們團隊要做的項目框架,很簡單重在實現基於zookeeper的bbo注冊。
框架:springmvc+spring+zookeeper+bbo
項目分三層,model存放數據,view頁面展示、controller下面具體邏輯實現。通過bbo消費方和供應方注冊,供應方給消費方暴露介面,供消費方調用。
工程部署需要配置文件有:
applicationContext-bbo.xml
{--
<-- 消費方應用名,用於計算依賴關系,不是匹配條件,不要與提供方一樣 -->
<-- 使用zookeeper注冊中心暴露服務地址 -->
<-- 生成遠程服務代理,可以像使用本地bean一樣使用demoService -->
<bbo:reference id="demoService" interface="com.unj.bbotest.provider.DemoService" />
--}
bbo.properties
{--
<--基於ZooKeeper的Dubbo注冊中心直接部署tomcat,修改WEB-INF下文件-->
bbo.registry.address=zookeeper://127.0.0.1:2181
bbo.admin.root.password=root
bbo.admin.guest.password=guest
--}
zoo_sample.cfg
{--
zookeeper/conf/下,修改zoo_sample.cfg為zoo.cfg,啟動bin/下zkServer.cmd
--}
因為引入bbo,摒棄了原有Web Service項目的wdls暴露,由於項目依賴關系嚴重,項目使用maven構建,通過Maven pom.xml三維坐標引入jar包,調用bbo暴露介面開發。
性能測試工具:LoadRunner、jmeter
介面測試工具:LoadRunner、jmeter、soapUI、Spotlight
安全測試工具:NStalker-Web、AppScan、TamperIESetup
自動化工具 :BadboyInstaller、QTP
/**
* @author wonter
* <b>描述:</b> 一天學一個模式 更新中,請關注我的博客!<br>
* <b>博客:</b> http://www.cnblogs.com/javame <br>
* <b>郵件:</b> [email protected] <br>