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==

复制粘贴在网站打开即可

Dubbo应用启动与关闭流程日志剖析——XML配置

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    酷睿I7 配置

    酷睿I7 配置,配置,玩家国度啦华硕 Rampage II Extreme(3800元)如果米不够,也可以把Extreme改为Gene,不过是小板内存推荐金士顿6G DDR3 2000骇

    鼠标不能拖动文件了

    鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电脑鼠标无法拖动软件图标了,怎么办鼠标不能滚动怎么调整电脑鼠标不能进行任何

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    查看配置:酷睿i3530集展示办公平台

    查看配置:酷睿i3530集展示办公平台,,由于时间和精力的关系,我们不可能对所有的配置进行评论,希望我们能理解,我希望我们的评论能在那些需要帮

    3500元超额值学生娱乐结构的优化配置

    3500元超额值学生娱乐结构的优化配置,,作为一个DIY的主流用户领域的学生,每个用户51学生攒机的高峰。因为学生用户没有稳定的收入来源,攒机