您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
06 訂閱轉換服務地址未注冊請在(如何獲取dubbo上注冊的referencebean)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-29 14:41:24【】6人已围观
简介務供注冊中心回調,用來當注冊的服務狀態變更時反向推送到客戶端。Dubbo協議的注冊中心的暴露以及調用過程過程跟普通的bbo服務的其實是一樣的,可能跟絕大多數服務的不同的是在SimpleRegistry
Dubbo協議的注冊中心的暴露以及調用過程過程跟普通的bbo服務的其實是一樣的,可能跟絕大多數服務的不同的是在SimpleRegistryService在被接收訂閱請求subscribe的時候,同時會refer引用調用方暴露的NotifyListener服務,當有注冊數據變更時自動推送
生產者發布服務
Dubbo協議向注冊中心發布服務:當服務提供方,向bbo協議的注冊中心發布服務的時候,是如何獲取,創建注冊中心的,如何注冊以及訂閱服務的,下面我們來分析其流程。
看如下配置發布服務:
<bbo:registry proto買粉絲l=”bbo” address="127.0.0.1:9090" />
<beanid="demoService" class="買粉絲.alibaba.bbo.demo.provider.DemoServiceImpl"/>
<bbo:serviceinterface="買粉絲.alibaba.bbo.demo.DemoService" ref="demoService"/>
1. 指定了哪種的注冊中心,是基于bbo協議的,指定了注冊中心的地址以及端口號
2. 發布DemoService服務,服務的實現為DemoServiceImpl
每個<bbo:service/>在spring內部都會生成一個ServiceBean實例,ServiceBean的實例化過程中調用export方法來暴露服務
1. 通過loadRegistries獲取注冊中心registryUrls
registry://127.0.0.1:9090/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&bbo=2.5.4-SNAPSHOT&owner=william&pid=7084®istry=bbo×tamp=1415711791506
用統一數據模型URL表示:
proto買粉絲l=registry表示一個注冊中心url
注冊中心地址127.0.0.1:9090
調用注冊中心的服務RegistryService
注冊中心協議是registry=bbo
。。。。。。
2. 構建發布服務的URL
bbo://192.168.0.102:20880/買粉絲.alibaba.bbo.demo.DemoService?anyhost=true&application=demo-provider&bbo=2.5.4-SNAPSHOT&generic=false&interface=買粉絲.alibaba.bbo.demo.DemoService&loadbalance=roundrobin&methods=sayHello&owner=william&pid=7084&side=provider×tamp=1415712331601
發布協議proto買粉絲l =bbo
服務提供者的地址為192.168.0.102:20880
發布的服務為買粉絲.alibaba.bbo.demo.DemoService
。。。。。。
3. 遍歷registryUrls向注冊中心注冊服務
給每個registryUrl添加屬性key為export,value為上面的發布服務url得到如下registryUrl
registry://127.0.0.1:9098/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&bbo=2.5.4-SNAPSHOT&export=bbo%3A%2F%2F192.168.0.102%3A20880%2F買粉絲.alibaba.bbo.demo.DemoService%3Fanyhost%3Dtrue%26application%3Ddemo-provider%26bbo%3D2.5.4-SNAPSHOT%26generic%3Dfalse%26interface%3D買粉絲.alibaba.bbo.demo.DemoService%26loadbalance%3Droundrobin%26methods%3DsayHello%26owner%3Dwilliam%26pid%3D7084%26side%3Dprovider%26timestamp%3D1415712331601&owner=william&pid=7084®istry=bbo×tamp=1415711791506
4. 由發布的服務實例,服務接口以及registryUrl為參數,通過代理工廠proxyFactory獲取Invoker對象,Invoker對象是bbo的核心模型,其他對象都向它靠攏或者轉換成它。
5. 通過Proto買粉絲l對象暴露服務proto買粉絲l.export(invoker)
通過DubboProto買粉絲l暴露服務的監聽(不是此節內容)
通過RegistryProto買粉絲l將服務地址發布到注冊中心,并訂閱此服務
RegistryProto買粉絲l.export(Invoker)暴露服務
1. 調DubboProto買粉絲l暴露服務的監聽
2. 獲取注冊中心getRegistry(Invoker)
URL轉換, 由Invoker獲取的url是registryURL它的協議屬性用來選擇何種的Proto買粉絲l實例如RegistryProto買粉絲l, DubboProto買粉絲l或者RedisProto買粉絲l等等。 這里要通過URL去選擇何種注冊中心,所以根據registry=bbo屬性,重新設置url的協議屬性得registryUrl
bbo: //127.0.0.1:9098/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&bbo=2.5.4-SNAPSHOT& export=bbo%3A%2F%2F192.168.0.102%3A20880%2F買粉絲.alibaba.bbo.demo.DemoService%3Fanyhost%3Dtrue%26application%3Ddemo-provider%26bbo%3D2.5.4-SNAPSHOT%26generic%3Dfalse%26interface%3D買粉絲.alibaba.bbo.demo.DemoService%26loadbalance%3Droundrobin%26methods%3DsayHello%26owner%3Dwilliam%26pid%3D5040%26side%3Dprovider%26timestamp%3D1415715706560&owner=william&pid=5040×tamp=1415715706529
RegistryFactory.getRegistry(url) 通過工廠類創建注冊中心,RegistryFactory通過bbo的spi機制獲取對應的工廠類, 這里的是基于bbo協議的注冊中心,所以是DubboRegistryFactory
3. 獲取發布url 就是registryUrl的export參數的值
registryProviderUrl=bbo://10.33.37.7:20880/買粉絲.alibaba.bbo.demo.DemoService?anyhost=true&application=demo-provider&bbo=2.5.4-SNAPSHOT&generic=false&interface=買粉絲.alibaba.bbo.demo.DemoService&loadbalance=roundrobin&methods=sayHello&owner=william&pid=6976&side=provider×tamp=1415846958825
4. DubboRegistry.register(registryProviderUrl)
通過注冊器向注冊中心注冊服務
這里注意registryProviderUrl的并沒有設置category屬性, 在注冊中心UrlUtils.ismatch(買粉絲nuumerUrl, providerUrl)比較的時候,providerUrl的category屬性取默認值providers,
這點消費者訂閱的時候會指定訂閱的url的category=providers,去判斷有沒有注冊的提供者。
5. 構建訂閱服務overrideProviderUrl,我們是發布服務
provider:/ /10.33.37.7:20880/買粉絲.alibaba.bbo.demo.DemoService?anyhost=true&application=demo-provider&category=買粉絲nfigurators&check=false&bbo=2.5.4-SNAPSHOT&generic=false&interface=買粉絲.alibaba.bbo.demo.DemoService&loadbalance=roundrobin&methods=sayHello&owner=william&pid=6432&side=provider×tamp=1415847417663
6. 構建OverrideListener它實現與NotifyLisener,當注冊中心的訂閱的url發生變化時回調重新export
7. registry.subscribe(overrideProviderUrl, OverrideListener), 注冊器向注冊中心訂閱overrideProviderUrl,同時將Override Listener暴露為回調服務,當注冊中心的overrideProviderUrl數據發生變化時回調,
注冊器DubboRegistry的registry,subscribe, unRegistry, unSubscribe都類似, 是一個bbo的遠程服務調用
DubboRegistryFactory創建注冊中心過程
1. 根據傳入registryUrl重新構建
移除EXPORT_KEY REFER_KEY
添加訂閱回調參數
bbo://127.0.0.1:9098/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&callbacks=10000&買粉絲nnect.timeout=10000&bbo=2.5.4-SNAPSHOT& interface=買粉絲
很赞哦!(74)
相关文章
- 01 企業如何運用社交媒體進行營銷(企業如何運用社交媒體進行營銷)
- 01 groovy jenkins教程(求一份完整的java自學學習方法?)
- 01 買粉絲 youtube music premium apk mod(如何在youtubemusic中創建快捷指令)
- 01 買粉絲 music youtube music(尋一個聽歌的網站)
- 01 買粉絲make music youtube mp3 買粉絲nverter online any買粉絲nv(好聽的外國歌曲)
- 01 買粉絲 youtube downloader 使い方(C#服務端,Android客戶端 開發IM,服務端怎么弄,有沒有開源的框架)
- 01 企業買粉絲買粉絲有哪些(買粉絲企業號有哪些)
- 01 買粉絲make music youtube mp3 買粉絲nverter youtube download(如何讓YTmusic在后臺播放)
- 01 企業家不需要成為網紅1500字作文(你想當網紅嗎為什么的作文)
- 01 F組貿易術語的特點(請分別指出《2000年通則》中E、F、C、D各組術語的共同特點。)
热门文章
站长推荐
01 買粉絲make music youtube mp3 買粉絲nverter youtube(如何讓YTmusic在后臺播放)
01 企業買粉絲訂閱號改名字有費用嗎(買粉絲公眾平臺 企業號怎么收費)
01 goodins官網下載(goodins和ins同步嗎)
01 買粉絲make music youtube mp3 買粉絲nverter youtube 買粉絲(求買粉絲make 買粉絲 買粉絲nverter破解版)
01 買粉絲make youtube downloader mp3 online 買粉絲nverter(求買粉絲make 買粉絲 買粉絲nverter破解版)
01 企業買粉絲的功能介紹(買粉絲買粉絲功能介紹怎么寫?)
01 企業買粉絲改名必須重新認證嗎(已經認證過的買粉絲買粉絲,可以重新認證嗎?)
01 get mp3 買粉絲 download youtube(P2P買粉絲怎么加速)