Results 4 issues of Carson

关于dubbo加载spi的文档说明,都强调按需使用,其实这里有个概念容易混淆,那就是spi对应的Class 实例以及spi实例本身。 也就是dubbo只是在用到的时候再实例化spi,而对于spi对应的Class实例,是一开始都加载进来的,文档中这点并没有说清楚。 举个例子,xxx.DemoService接口有两个实现类: ``` a=xxx.ADemoServiceImpl b=xxx.BDemoServiceImpl ``` 那么dubbo是都会把 ADemoServiceImpl.class 和 BDemoServiceImpl.class 都加载到内存,只是在需要的时候再根据 .class 进行实例化,获得相应的spi实例。

文档地址 https://dubbo.apache.org/zh/docs/v2.7/dev/implementation/ 有误位置 : 开发指南-实现细节-向注册中心暴露服务 文档中说是先注册服务地址到注册中心,然后才是启动服务。 个人感觉流程不合理,应该是先启动服务,再注册服务地址到注册中心。 看了下源码,确实跟文档不一致,如下图所示: ![image](https://user-images.githubusercontent.com/9584000/112576356-12804200-8e2d-11eb-8544-8fba78de22be.png)