精通Nacos
文章平均质量分 88
欣赏nacos源码
上海第一深情Alan
精通java生态圈源码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
全网第一篇把Nacos2.0【配置中心】服务端讲明白的
首先DumpService里面有一个TaskManager,这个类是继承NacosDelayTaskExecuteEngine�,这个类之前是详细分析过的,就是延迟执行的,核心逻辑就是有一个线程不断的从一个map中获取任务,不往下追了,就是一个简单的定时调度线程池,反正最终也是调度到AsyncRpcTask的run方法,这个更重要。如果获取到任务,就看这个taskKey有没有对应的处理器,如果没有设置,那就找一个默认的,比较简单,将task放到TaskManager中,然后TaskManager异步执行。原创 2024-02-05 14:47:38 · 1291 阅读 · 1 评论 -
全网第一篇把Nacos2.0【配置中心】客户端讲明白的
listeners(ManagerListernerWrap)就是我们刚开始创建CacheData设置上的listener上面包装了一层,在创建listener的时候,会把CacheData的content、md5、还有我们创建listener都放到里面,所以这里才会判断当前CacheData里面的md5和listener里面md5是不是一样的,如果不是,就需要通知到listener。设置两个监听器cacheMap,一个是带监听器的,一个是不带的。的startInternal方法,原创 2024-02-05 12:33:12 · 1472 阅读 · 0 评论 -
全网最细的nacos2.0服务端【服务注册】:没有之一
遍历上面的concurrentHashMap,然后通过taskkey然后找到处理类,因为我们没有设置,所以这里的NacosTaskProcessor就是子类PushDelayTaskExecuteEnginge里面设置的PushDelayTaskProcessor。逻辑比较简单,先看看它有没有对应的NacosTaskProcessor,实际就是没有的(key没有,默认也没有设置),接下来就直接通过getWorker来处理。又是似曾相识的套路,往queue里面塞东西,那具体在哪里处理的?原创 2024-02-04 14:30:24 · 1132 阅读 · 0 评论 -
全网最细的Nacos2.0客户端【服务注册】:没有之一
这里的namingServer是NacosNamingServer,最终会调用到NacosNamingServer.registerInstance(serviceName, ip, port, clusterName)将配置参数properties传进去,然后通过反射创建NamingService, 也就是说会调用到NacosNamingService的构造方法,我们来看一下。这里的rpcClint是GrpcSdkClient,所以会调用到它的request方法。有一个start方法,它会创建连接。原创 2024-01-30 22:38:39 · 546 阅读 · 0 评论
分享