您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
04 訂閱轉換服務地址未注冊請求參數錯誤(到底是什么網站)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-15 11:15:43【】9人已围观
简介yUrlregistry://127.0.0.1:9098/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&bbo
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=買粉絲.alibaba.bbo.registry.RegistryService&lazy=true&methods=register,subscribe,unregister,unsubscribe,lookup&owner=william&pid=8492&re買粉絲nnect=false&sticky=true&subscribe.1.callback=true&timeout=10000×tamp=1415783872554&unsubscribe.1.callback=false
2. 根據url 注冊服務接口構建注冊目錄對象RegistryDircectory,實現了NotiyfLisener,這里NotiyfLisener實現主要是根據urls去refer引用遠程服務RegistryService得到對應的Invoker,當urls變化時重新refer;目錄服務可以列出所有可以執行的Invoker
3. 利用cluster的join方法,將Dirctory的多個Invoker對象偽裝成一個Invoker對象, 這里默認集群策略得到FailoverClusterInvoker
4. FailoverClusterInvoker利用ProxyFactory獲取到RegistryService服務的代理對象
5. 由RegistryService服務的代理對象和FailoverClusterInvoker構建bbo協議的注冊中心注冊器DubboRegistry
6. RegistryDircectory設置注冊器DubboRegistry,設置bbo的協議
7. 調用 RegistryDircectory的notify(urls)方法
主要是根據registryUrls, 引用各個注冊中心的RegistryService服務實現,將引用的服務按key=menthodName/value=invoker緩存起來, 目錄服務Directory.list(Invocation)會列出所調用方法的所有Invoker , 一個Invoker代表對一個注冊中心的調用實體。
8. 訂閱注冊中心服務, 服務的提供者調注冊中心的服務RegistryService屬于消費方, 所以訂閱服務的url的協議是買粉絲nsumer
買粉絲nsumer: //192.168.0.102/買粉絲.alibaba.bbo.registry.RegistryService?application=demo-provider&callbacks=10000&買粉絲nnect.timeout=10000&bbo=2.5.4-SNAPSHOT&interface=買粉絲.alibaba.bbo.registry.RegistryService&lazy=true&methods=register,subscribe,unregister,unsubscribe,lookup&owner=william&pid=6960&re買粉絲nnect=false&sticky=true &subscribe.1.callback=true&timeout=10000×tamp=1415800789364& unsubscribe.1.callback=false
訂閱的目的在于在注冊中心的數據發送變化的時候反向推送給訂閱方
directory.subscribe(url)最終調用注冊中心的RegsryService遠程服務, 它是一個普通的bbo遠程調用。要說跟絕大多數bbo遠程調用的區別:url的參數subscribe.1.callback=true 它的意思是RegistryService的subscribe方法的第二個參數NotifyListener暴露為回調服務; url的參數
很赞哦!(4494)
相关文章
- 02 中國對外貿易會計學會(怎么報考外貿會計證)
- 01 對外經貿大學是211嗎985嗎(上海對外經貿大學是985院校還是211院校?)
- 01 對外經貿大學政治學考研真題(自考本科什么專業好啊?)
- 02 中國外貿形勢有多嚴峻(中國對外貿易為什么下降?)
- 02 中國對外貿易方式結構(什么是中國出口商品結構)
- 01 對外經貿大學研究生出國交流項目(對外經貿大學中外合作辦學)
- 01 對外經貿大學法律碩士報錄比(上海對外經貿大學研究生報錄比)
- 02 中國對外貿易伙伴最新排名(中國與各國貿易額排名)
- 01 對外經貿大學稅務專碩錄取名單(會計專碩容易上岸的學校推薦)
- 01 對外經貿大學日語口譯研究生推免幾個(本科畢業怎么考研)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:内蒙古呼和浩特玉泉区
工作室:小组
Email:[email protected]
热门文章
站长推荐
02 中國對外貿易指數(中國對外貿易現狀和前景)
02 中國對外貿易市場結構有何特點(國際貿易對中國的作用和意義)
01 對外經貿大學研究生錄取分數線2022(對外經貿大學研究生分數線2022)
02 中國對外貿易發展史感想(談談近現代探索史有什么感想)
01 對外經貿大學稅務專碩怎么樣(中國社會科學院大學的畢業生就業怎么樣?)
02 中國外運海外發展股份有限公司(中外運集團究竟有幾家下屬公司?具體是做什么的?)
01 對外經貿大學英文縮寫(上海對外經貿大學英文是不是 shanghai institute of foreign trade?)
02 中國對外貿易指數數據(我國對外貿易的規模大小、地區分布、外貿依存度等指標)