服務消費者完成服務訂閱

2021-10-01 11:14:08 字數 1274 閱讀 7112

1 新增zk依賴

2 拿遠端介面

3獲取遠端連線url位址資訊

3.1獲取zk物件

3.2獲取物理節點下的所有的子節點

3.21判斷zk物件是否為空如果不為空獲取物理節點

3.22判斷子節點是否發生了變化如果發生了變化則重新獲取url位址資訊

3.3建立集合儲存資料

3.4遍歷獲取順時節點中的所有資料

3.41獲取順時節點中的url位址資訊

3.42儲存到urls集合中

3.43將最新的url位址集合賦值給全域性變數型別為volatile

public

class

testzkcustomer

catch

(exception e)}}

public

testzkcustomer()

throws keeperexception, interruptedexception

//獲取遠端**物件

public remote getservice()

throws remoteexception, notboundexception, malformedurlexception

//獲取遠端消費的url位址資訊

private

void

readurl()

throws keeperexception, interruptedexception

catch

(exception e)}}

});//建立集合儲存資料

arraylist

urls=

newarraylist

<

>()

;//遍歷獲取順時節點中的資料

for(string node:childrens)

//將最新的url位址集合賦值給全域性變數,型別為volatile

list=urls;}}

//實現執行緒同步

private countdownlatch latch=

newcountdownlatch(1

);//獲取zk物件

public zookeeper connectionzk()

}});

//讓主線程休眠

latch.

await()

;}catch

(exception ex)

return zk;

}}

1 5 服務消費者

每乙個註冊在微服務中的服務,既是服務提供者也是服務消費者。我們建立乙個eureka consumer專案作為服務消費者來消費eureka client。建立專案啟動類 import org.springframework.cloud.client.discovery.enablediscoveryc...

服務消費者RestTemplate Ribbon

目錄 簡介 pom.xml新增依賴 通過 loadbalanced註解表明這個restremplate開啟負載均衡的功能 這樣 resttemplate訪問介面就可以實現負載均衡功能了。spring cloud有兩種服務呼叫方式,一種是ribbon resttemplate,另一種是feign ri...

服務消費者Feign

feign是乙個宣告式的偽http客戶端,它使得寫http客戶端變得更簡單。使用feign,只需要建立乙個介面並註解。它具有可插拔的註解特性,可使用feign 註解和jax rs註解。feign支援可插拔的編碼器和解碼器。feign預設整合了ribbon,並和eureka結合,預設實現了負載均衡的效...