1、dubbo自己定了xsd:dubbo.xsd,在dubbo-config-Spring项目下,即dubbo使用的是Spring的bean方式
2、dubbo读取配置文件,使用的SAX(流式读取),即读取一行,解析一行(转换成beanDefinetion),解析完成即丢弃。另外一种读取方式为Dom
3、消费端(consumer)使用dubbo时,在xml中声明的是provider(提供者)的接口;Spring在使用的过程中,需要将提供者的接口注入,注入的必须是类,而不是接口。所以,dubbo将提供者的接口转换成可以序列化的代理类,使用代理类注入。
4、提供者将提供的接口转换成可以序列化的代理类,暴露给注册中心。
5、zookeeper使用的是Paxos算法,要求提供者为奇数,(便于推举master),如果为偶数,可能出现脑裂,无法及时将没有提供服务的provider下线(master接收slave的心跳)
6、需要看的类:DubboNamespaceHandler、 ApplicationContextAware、BeanNameAware、ApplicationListener、DubboBeanDefinitionParser、ServiceConfig