ify(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的參數 unsubscribe.1.callback=false 的意思是RegistryService的 unsubscribe 方法的第二個參數NotifyListener暴露的回調服務銷毀。
這里bbo協議的注冊中心調注冊中心的服務采用的默認集群調用策略是FailOver,選擇一臺注冊中心,只有當失敗的時候才重試其他服務器,注冊中心實現也比較簡單不具備集群功能, 如果想要初步的集群功能可以選用BroadcastCluster它至少向每個注冊中心遍歷調用注冊一遍
2024-07-24 10:39
2024-07-24 09:47
2024-07-24 09:24
2024-07-24 09:09
2024-07-24 08:47
2024-07-24 08:22