- Dubbo 3.2.9
- Nacos 2.1.0
最近在做配置文件升级,服务比较多,之前的Dubbo配置各个服务写的比较乱,有的用Nacos上的 data-id,有的又是在自己的服务引入配置
遂准备统一了,全部都用Nacos上的配置,同时修改了Dubbo服务名
dubbo.application.name=${spring.application.name}
最近在做配置文件升级,服务比较多,之前的Dubbo配置各个服务写的比较乱,有的用Nacos上的 data-id,有的又是在自己的服务引入配置
遂准备统一了,全部都用Nacos上的配置,同时修改了Dubbo服务名
dubbo.application.name=${spring.application.name}
代码演示环境
假设有一个服务A,里面提供了2个Dubbo接口XdxOneService、XdxTwoService,Dubbo生产者把服务注册到Nacos(或其它的注册中心)
提示
学习完Dubbo生产者和消费者,这次来学点实用的。如果说要对Dubbo进行一些扩展,那能做的好做的也就只有在自定义过滤器这上面下功夫了
相较于消费者和生产者,Filter要简单的多。但只有知道Filter何时何地加载进去的,才算真的知道Filter的执行流程
开始
相较于Dubbo消费者一次请求的过程,生产者的流程相对复杂一些,主要是因为触发点不好找。
这篇文章通过解决以下三个问题来学习源码
开始
上篇学习了@DubboService、@DubboReference解析原理,原本想在这篇文章来讲解它们运行的过程。但遇到滑铁卢:Dubbo的源码是我目前看的最复杂的源码,链路跳转太多了,所以分开,先来看看消费者的一次请求经历了哪些过程
下面的这些内容我花了好几天学习,边看边断点,所以一下看不懂没关系,还是需要自己去断点慢慢调试,关键节点都给出来了
https://www.bilibili.com/video/BV1nBsMejEbL
提示
对于Dubbo用的最多的就是@DubboService、@DubboReference,与之对应的就是服务的提供方、调用方。
之所以加上注解就可以运行,定是生成了代理对象,这篇文章就来讲讲如何基于这两个注解生成代理对象。