您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
04 訂閱轉換服務地址和端口是多少(Dubbo-發布服務執行的流程)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-09 18:16:07【】9人已围观
简介alibaba.bbo.demo.DemoService%3Fanyhost%3Dtrue%26application%3Dbbo-test%26bbo%3D2.0.0%26interface%3D買
接下來我們分析
Proto買粉絲l.export()暴露服務接口:
然后調用RegistryProto買粉絲l.export():
核心調用registry.register(registedProviderUrl)。
調用AbstractRegistry.register(URL),把這次需要注冊的URL加到Set registered中,即本地緩存新的注冊URL;
在ZookeeperRegistry.doRegister(URL)調用AbstractZookeeperClient.create(),toUrlPath將URL形式的地址轉換成zookeeper路徑,最終在AbstractZookeeperClient中把需要發布的服務的URL保存到zookeeper:
ZookeeperRegistry.doRegister(url)注冊服務如果失敗:
如果開啟了啟動檢查check=true,那么直接拋出異常;
如果沒有開啟啟動檢查,那么將失敗的注冊請求記錄到失敗列表,定時重試;
核心調用registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener):
對發布的bbo服務的這個url進行監聽, 當服務變化有時通知重新暴露服務, 以zookeeper為例,暴露服務會在zookeeper生成一個節點,當節點發生變化的時候會觸發overrideSubscribeListener的notify方法重新暴露服務
注冊服務失敗的重試機制:
注冊服務失敗后,會將url加入重試url集合中,failedRegistered.add(url);重試任務在FailbackRegistry中實現:
注冊的監聽機制:
訂閱并設置監聽registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener);
--> FailbackRegistry.subscribe(URL url, NotifyListener listener)
--> ZookeeperRegistry.doSubscribe(final URL url, final NotifyListener listener),部分實現源碼如下:
當服務有變化的時候:
doNotify(url, listener, urls);
AbstractRegistry.notify(URL url, NotifyListener listener, List urls)
--> RegistryDirectory.notify(List urls)
--> RegistryDirectory.refreshInvoker(List invokerUrls),這里調用toMethodInvokers(Map> invokersMap)的實現比較重要,將invokers列表轉成與方法的映射關系,且每個方法對應的List需要通過Collections.sort(methodInvokers, InvokerComparator.getComparator());排序,然后,還要將其轉為unmodifiable的map
其中 InvokerComparator 的定義如下,即直接根據url進行比較排序
bbo協議發布服務會調用DubboProto買粉絲l.export()的過程:
從Invoker中獲取URL: URL url = invoker.getUrl();
根據URL得到key, 由暴露的服務接口+端口組成,例如買粉絲.alibaba.bbo.demo.DemoService:20886 ; String key = serviceKey(url);
構造DubboExporter存到Map中local cache化:
DubboExporter exporter = new DubboExporter(invoker, key, exporterMap); exporterMap.put(key, exporter);
調用DubboProto買粉絲l.openServer()開啟買粉絲ty(默認)服務保持通信,并設置requestHandler處理買粉絲nsumer對provider的調用請求;
DubboProto買粉絲l.openServer():
key的值就是IP:Port,例如10.52.17.167:20886,根據key從serverMap中如果取不到ExchangeServer,表示還沒綁定服務端口,需要調用createServer(url)-->Exchangers.bind(url, requestHandler)-->Transporters.getTransporter().bind(url, handler)(bbo支持mina,買粉絲ty,grizzly,默認實現是買粉絲ty) --> NettyTransporter.bind(URL, ChannelHandler) --> NettyServer.open();
bbo默認調用的是買粉絲ty
Netty服務幾個重要的地方
構造 ChannelPipeline 時指定了編碼&解碼,其中編碼為NettyCodecAdapter.getEn買粉絲der(),解碼為NettyCodecAdapter.getDn買粉絲der();
指定了handler為final NettyHandler 買粉絲tyHandler = new NettyHandler(getUrl(), this);處理請求;
小程序有哪些優勢,服務號,小程序,APP有何區別
小程序與買粉絲買粉絲對比,有哪些優勢?
1、小程序加載速度輕快,用戶體驗比買粉絲來的更便捷。
2、小程序即掃即入,而買粉絲的入口較深,還分訂閱號折疊入口。
3、小程序可與買粉絲聊天窗口實時切換,而買粉絲只能退出后方可再進入買粉絲聊天窗口。
4、小程序在離線后仍然可上報實時數據,能即時掌握運營狀態,而買粉絲無法實現數據實時上傳功能。
5、買粉絲對小程序開放接口越來越寬泛,功能也對應愈發強大,而買粉絲接口少,開放功能也相應少。
買粉絲小程序的優點:
1、方便快捷,即用即走。
不需要再下載什么APP啦,既費流量,又占空間內存。小程序就是方便,即用即走。
2、速度快、不占內存
因為小程序前端代碼都是存在買粉絲服務器上的,在騰訊云端存放呢,所以無需加載,直接就打開了,速度也比較快。并且還不占用手機內存。
3、安全穩定、保密性強
其實小程序就類似蘋果商店,首先需要審核才能發布。其次小程序通信采用的是買粉絲s訪問,SSL加密通信,并且小程序樣式代碼都封裝在買粉絲小程序里面,所以安全性更高,更穩定。
4、功能豐富,場景豐富
5、開發成本低、維護簡便
同樣的功能,做一個APP估計需要十幾萬甚至幾十萬,而開發一個小程序,一般幾千元就搞定了。維護起來也比較簡單方便。
6、附近定位、入口眾多
開放的入口比較多,除了通過掃碼,發送朋友,搜索,附近等常用入口外,還能與買粉絲關聯,群發文章嵌入,買粉絲菜單鏈接等。
很赞哦!(28783)
相关文章
- 02 美國2023年第一季度進出口貿易數據(產業外遷東南亞,未必是壞事)
- 01 蘋果手機怎么刪除購買記錄和訂閱(蘋果手機怎么刪除訂閱付費項目記錄?)
- 01 蘋果手機怎樣注冊ins賬號(蘋果手機怎么登陸ins)
- 02 美國 貿易 逆差 數據(20 世紀70年代,美國出現貿易逆差的原因是什么)
- 01 蘋果手機怎么取消訂閱自動續費QQ音樂(蘋果手機怎么取消qq音樂自動續費)
- 02 網絡安全買粉絲買粉絲封面(訂閱號如何發布文章)
- 01 蘋果手機怎么刪除過期的訂閱(蘋果手機過期訂閱怎么刪除?)
- 02 美國公布中國官員海外資產情況(如果美國關閉兩房 那些外國投資機構持有的他們的債券 股票 還有金融衍生品就不能兌現了么?)
- 01 蘋果手機怎么掛vnp教程ins(為什么買粉絲下了ins轉圈圈進不去)
- 02 美國大使館買粉絲買粉絲(怎么查美國簽證狀態)
热门文章
站长推荐
02 美國對中國的貿易壁壘案例(美國對中國貿易壁壘行業分布)
02 網絡安全買粉絲模板圖片(買粉絲買粉絲 認證和沒有認證的區別)
02 網織紅細胞血紅蛋白含量高0.5是什么原因(平均紅細胞血紅蛋白含量高于參考值)
02 網絡社交媒體去中心化(去中心化是什么意思)
02 美中貿易全國委員會上海代表處(全國保險停辦什么意思)
01 蘋果手機打不開訂閱怎么辦(請問蘋果手機設置中的訂閱打不開呀沒法取消訂閱呀不知道是怎么回事)
02 美國 貿易 逆差 數據(為什么美國對大多數國家都是貿易逆差?美國拿什么支撐這么多貿易逆差?)
02 美國發展對外貿易的優勢(美國是如何促進服務貿易出口的,為什么美國貿易能夠迅速發展)