dubbo钩子怎么解决_Dubbo应用启动与关闭流程日志剖析——XML配置-xml文件怎么打开...

1. Service Provider

线程名称描述(实例化方法)main:应用主线程

Dubbo-Holder:Dubbo持有线程(DubboHolderListener.onApplicationEvent)

main-SendThread(127.0.0.1:2181):ZooKeeper线程,服务传出的请求队列并生成心跳检查(ClientCnxn.ClientCnxn() -> ClientCnxn.SendThread)

main-EventThread:ZooKeeper配置数据事件处理线程(ClientCnxn.ClientCnxn() -> ClientCnxn.EventThread)

DubboServerHandler-{ip:port}-thread-{num}:Dubbo服务端处理程序(NettyServer.NettyServer)

New I/O worker #1:Netty工作线程

DubboShutdownHook:基于JVM关闭钩子的Dubbo关闭线程(AbstractConfig.java:76)

Thread-{num}:基于JVM关闭钩子的Spring应用上下文关闭线程(AbstractApplicationContext.registerShutdownHook)

启动步骤

1. 应用上下文加载Dubbo服务提供者的XML组件定义

2. Dubbo服务提供者已准备好

3. 导出Dubbo服务提供者为URL

4. 开始注册Dubbo服务提供者URL到注册中心(registry)

5. 启动Netty服务器

6. 加载本地注册中心存储文件数据

7. 建立与注册中心的套接字连接会话注册Dubbo服务提供者URL

订阅Dubbo服务提供者URL

通知订阅Dubbo服务提供者URL的URL列表

8. Zookeeper收到收到新的配置事件

关闭步骤

1. Dubbo关闭钩子(DubboShutdownHook)开始关闭所有注册中心

2. 销毁某个注册中心销毁注销的Dubbo服务提供者URL

销毁取消订阅的Dubbo服务提供者URL

ZooKeeper会话已关闭

ZooKeeper事件处理线程关闭会话

3. 关闭Dubbo服务器

1. 关闭绑定到20880端口的Netty服务器

4. 应用上下文停止组件

2. Service Consumer

线程名称描述(实例化方法)main:应用主线程

Dubbo-Holder:Dubbo持有线程(DubboHolderListener.onApplicationEvent)

localhost-startStop-1:处理Tomcat容器的启动和停止事件的线程(ContainerBase.initInternal)

background-preinit:以后台线程的方式触发Spring Boot应用的早期初始化过程(BackgroundPreinitializer.onApplicationEvent)

main-SendThread(127.0.0.1:2181):ZooKeeper线程,服务传出的请求队列并生成心跳检查(ClientCnxn.ClientCnxn() -> ClientCnxn.SendThread)

main-EventThread:ZooKeeper配置数据事件处理线程(ClientCnxn.ClientCnxn() -> ClientCnxn.EventThread)

http-nio-8080-exec-{num}:Tomcat执行请求的任务线程(AbstractProtocol.getName -> Http11NioProtocol.getNamePrefix)

DubboShutdownHook:基于JVM关闭钩子的Dubbo关闭线程(AbstractConfig.java:76)

Thread-{num}:基于JVM关闭钩子的Spring应用上下文关闭线程(AbstractApplicationContext.registerShutdownHook)

DubboSharedHandler-thread-1:共享的执行器服务(WrappedChannelHandler.SHARED_EXECUTOR)

启动步骤

1. Web应用上下文加载Dubbo服务消费者的XML组件定义

2. 加载本地注册中心存储文件数据

3. 建立与注册中心的套接字连接会话注册Dubbo服务消费者的URL

订阅Dubbo服务消费者URL

通知订阅Dubbo服务消费者URL的URL列表

4. 启动Netty客户端连接到Dubbo服务器

5. 从注册中心URL引用Dubbo服务

关闭步骤

1. Dubbo关闭钩子(DubboShutdownHook)开始关闭所有注册中心

2. 销毁某个注册中心销毁注销的Dubbo服务消费者URL

销毁取消订阅的Dubbo服务消费者URL

ZooKeeper会话已关闭

ZooKeeper事件处理线程关闭会话

3. 关闭Dubbo连接

4. Web应用上下文关闭Netty通信通道

视频资料链接:data:text/html;charset=UTF-8;base64,

5oGt5Zac5L2g77yM5p625p6E5biI5a2m5Lmg576k5Y+35pivNTc1NzUxODU0Cg==

复制粘贴在网站打开即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值