------------恢复内容开始------------
基于源码版本(nacos1.4.2)
Nacos的注册:
注册功能: 客户端启动 找到Nacos服务端 首先进到方法 serverProxy.registerService(groupedServiceName, groupName, instance);
其发送了一个Http请求向服务端 用以注册Instance
服务端: 接受客户端请求后 初始化相关命名空间等信息 addInstance(namespaceId, serviceName, instance.isEphemeral(), instance);
然后将信息放入注册表
public void putService(Service service) { if (!serviceMap.containsKey(service.getNamespaceId())) { synchronized (putServiceLock) { if (!serviceMap.containsKey(service.getNamespaceId())) { serviceMap.put(service.getNamespaceId(), new ConcurrentSkipListMap<>()); } } } serviceMap.get(service.getNamespaceId()).putIfAbsent(service.getName(), service); }
ps~~: 一些琐碎技术点 @FunctionalInterface JDK1.8新特性 函数式接口声明
------------恢复内容结束------------