nacos源码学习

------------恢复内容开始------------

基于源码版本(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新特性 函数式接口声明

------------恢复内容结束------------

上一篇:快看!那个面试官又让手写单例模式了


下一篇:实现Singleton模式