1、實現一個註冊中心須要哪些apiapi
一、服務註冊接口:服務提供者經過調用服務註冊接口來完成服務註冊服務器
二、服務反註冊接口:服務提供者經過調用服務反註冊接口來完成服務註銷接口
三、心跳彙報接口:服務提供者經過調用心跳彙報接口完成節點存活狀態上報io
四、服務訂閱接口:服務消費者經過調用服務訂閱接口完成服務訂閱,獲取可用的服務提供者節點列表客戶端
五、服務變動查詢接口:服務消費者經過調用服務變動查詢接口,獲取最新的可用服務節點列表查詢
2、服務的健康檢查服務端
在 ZooKeeper 中,客戶端和服務端創建鏈接後,會話也隨之創建,並生成一個全局惟一的 Session ID。服務端和客戶端維持的是一個長鏈接,在 SESSION_TIMEOUT 週期內,服務端會檢測與客戶端的鏈路是否正常,具體方式是經過客戶端定時向服務端發送心跳消息(ping 消息),服務器重置下次 SESSION_TIMEOUT 時間。若是超過 SESSION_TIMEOUT 後服務端都沒有收到客戶端的心跳消息,則服務端認爲這個 Session 就已經結束了,ZooKeeper 就會認爲這個服務節點已經不可用,將會從註冊中心中刪除其信息時間