- 博客(7)
- 收藏
- 关注
原创 xxl-job2.4源码解析 02执行器的启动流程
1.xxl执行器中内部用了大量的异步处理,主要是为了提高执行效率。2.执行器是通过netty执行理端发送的http请求3.并将执行信息存到Thread中,很方便的供其他方法执行时直接获取。
2025-03-01 15:36:57
243
原创 xxl-job2.4源码解析 01管理器的启动流程
通过启动时打印的如下日志可以跟踪到类XxlJobSchedulerXxlJobScheduler中 init 的方法调用来自于 XxlJobAdminConfig。可以看到 XxlJobAdminConfig 实现了 Spring 的 InitializingBean 接口,当所有的 bean 完成属性设置后回调 afterPropertiesSet 方法,并且 XxlJobAdminConfig 对象的创建使用了单例模式。
2025-03-01 09:56:35
377
原创 Nacos2.4.0源码分析05 nacos的配置发布
在发布配置时,会将配置信息存入数据库,然后发布一个ConfigDataChangeEvent事件,而处理这个事件的入口有两个分别是DumpService、AsyncNotifyService。AsyncNotifyService所有的服务端实例都会调用各自的DumpService 更新本地磁盘中的配置数据。
2025-02-16 10:42:20
589
原创 Nacos2.4.0源码分析04 nacos的实例下线
具体代码在 package com.alibaba.nacos.core.remote.grpc 包下的GrpcRequestAcceptor 类中。nacos的服务实例下线是通过NamingService的deregisterInstance方法进行实例注销,代码如下。EphemeralClientOperationServiceImpl 中的deregisterInstance 方法。在服务端处理请求逻辑如下,由于服务端会根据请求的类型进行很多校验判断,下面代码就省略一些逻辑。至此服务注销的逻辑结束。
2025-01-22 17:16:54
216
原创 Nacos2.4.0源码分析03 nacos的实例注册与服务端的心跳检测
客户端的配置项散落3个地方:用户传入的Properties、命令行参数和环境变量。通过一些列的方法重载最后调用到如下的方法,clientProxy对象在命名服务初始化时将其创建为NamingClientProxyDelegate对象。可以看出服务注册的步骤分为两步,第一先创建一个命名服务,第二步通过命名服务客户端向服务端注册实例信息。服务创建的代码如下,通过反射,调用一个参数为Properties的构造器创建命名服务。在nacos源码中,提供了一个服务注册、配置信息的测试模块。
2025-01-13 23:13:24
309
1
原创 Nacos2.4.0源码分析02 nacos的服务通信
gRPC 是由 google 开发的一款高性能、开源和通用的 远程过程调用(RPC) 框架,面向移动和 HTTP/2 设计。gRPC 默认使用 protocol buffers 作为接口定义语言,来描述服务接口和有效载荷消息结构。支持多种语言如 java、python、go、c 等。与许多RPC系统一样,gRPC基于定义服务的思想,指定可以远程调用的方法及其参数和返回类型。默认情况下,gRPC使用protocol buffers作为接口定义语言(IDL)来描述服务接口和有效负载消息的结构。定义的文件是以。
2025-01-02 22:49:57
970
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人