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結合,預設實現了負載均衡的效...