您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么理解Nacos Naming服務管理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么理解Nacos Naming服務管理”吧!
Nacos Naming節點會在內存中保存所有服務的Service/Cluster/Instance三層元信息以及用戶訂閱關系,通過ConsistencyService來持久化并在節點間保持數據一致。naming服務用來做元信息管理的核心類是ServiceManager,核心類關系圖如下:
ServiceManager類會在內存中維護一個兩級的Map結構:
public class ServiceManager implements RecordListener<Service> { /** * Map<namespace, Map<group::serviceName, Service>> */ private Map<String, Map<String, Service>> serviceMap = new ConcurrentHashMap<>(); }
所有讀取操作會優先在serviceMap內存結構上進行。增刪改操作會首先通過ConsistencyService接口操作底層持久化存儲的數據,同時ServiceManager本身又作為listener監聽了ConsistencyService中的變化,通過回調修改內存serviceMap數據。
節點注冊流程如下:
Nacos Naming服務的服務訂閱機制是通過UDP協議完成的。client發起訂閱的時候會首先在本地隨機打開一個udp端口,隨后通過list接口將ip + udp port發送給naming server,當server監聽到服務變更的時候就會主動發動udp報文通知所有感興趣的訂閱者。
訂閱機制流程如下:
到此,相信大家對“怎么理解Nacos Naming服務管理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。