dubbo源码学习(二)dubbo容器启动流程简略分析

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

dubbo版本2.6.3

继续之前的dubbo源码阅读,从com.alibaba.dubbo.container.Main.main(String[] args)作为入口

简单的数据一下启动的流程

1、com.alibaba.dubbo.container.Main.main(String[] args)调用

2、加载容器

3、容器遍历,分别start()

4、启动结束


2步骤中的容器加载比较复杂,下面有详细的流程图,最好对着源码看,不然会容易晕

1、ExtensionLoader.getExtension(name)

2、instance = createExtension(name);

3、Class<?> clazz = getExtensionClasses().get(name);

4、EXTENSION_INSTANCES.putIfAbsent(clazz, clazz.newInstance());
5、instance = (T) EXTENSION_INSTANCES.get(clazz);

6、instance.start();

527254607b15a6a28c1605d1db3ca290072ceadc



相关文章
|
3月前
|
存储 算法 Java
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)(中)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
51 0
|
2月前
|
存储 安全 Java
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
34 0
|
3月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
120 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
3月前
|
缓存 Dubbo Java
Dubbo 第三节_ Dubbo的可扩展机制SPI源码解析
Dubbo会对DubboProtocol对象进⾏依赖注⼊(也就是⾃动给属性赋值,属性的类型为⼀个接⼝,记为A接⼝),这个时候,对于Dubbo来说它并不知道该给这个属性赋什么值,换句话说,Dubbo并不知道在进⾏依赖注⼊时该找⼀个什么的的扩展点对象给这个属性,这时就会预先赋值⼀个A接⼝的⾃适应扩展点实例,也就是A接⼝的⼀个代理对象。在调⽤getExtension去获取⼀个扩展点实例后,会对实例进⾏缓存,下次再获取同样名字的扩展点实例时就会从缓存中拿了。Protocol是⼀个接。但是,不是只要在⽅法上加了。
|
28天前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
39 0
|
1月前
|
Kubernetes Go 开发者
Go语言与Docker容器结合的实践应用与案例分析
【2月更文挑战第23天】本文通过分析实际案例,探讨了Go语言与Docker容器技术结合的实践应用。通过详细阐述Go语言在容器化环境中的开发优势,以及Docker容器技术在Go应用部署中的重要作用,本文旨在为读者提供Go语言与Docker容器结合的具体实现方法和实际应用场景。
|
2月前
|
监控 安全 Linux
|
2月前
|
Java 持续交付 虚拟化
深入浅出:使用Docker容器化改善Java应用的开发与部署流程
在快速迭代与持续集成的软件开发周期中,确保应用在各种环境中一致运行是一个挑战。本文介绍了如何利用Docker容器技术,来容器化Java应用,以实现环境一致性、简化配置和加速部署过程。我们将从Docker的基础知识开始,探讨其与传统虚拟机的区别,进而深入到如何创建Dockerfile,构建镜像,以及运行和管理容器。此外,文章还将涵盖使用Docker Compose来管理多容器应用的策略,以及如何利用容器化改善CI/CD流程。通过本文,读者将获得关于如何高效地利用Docker改善Java应用开发与部署流程的实践指导。
160 1
|
2月前
|
虚拟化 开发者 Docker
深入浅出:利用Docker容器化技术加速Web开发流程
在本篇文章中,我们将探讨Docker容器化技术如何为Web开发带来革命性的效率提升。通过具体案例和实操示范,我们不仅会介绍Docker的基本概念和工作原理,还将深入分析如何利用Docker容器化技术简化开发环境的搭建、提高应用的可移植性以及加快部署速度。本文旨在为读者提供一种全新的视角,理解并实践如何通过Docker优化现代Web开发流程,无论是对于个人开发者还是团队项目,都将带来前所未有的便捷和效率。
31 0
|
2月前
|
存储 算法 安全
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
27 0