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==
复制粘贴在网站打开即可