![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dubbo3
文章平均质量分 56
weixin_40455124
这个作者很懒,什么都没留下…
展开
-
dubbo 3.2.0 与skywalking 集成简单记录
【代码】dubbo 3.2.0 与skywalking 集成简单记录。原创 2023-06-23 07:19:09 · 411 阅读 · 0 评论 -
dubbo 3.2.0 的filterChain 简要分析
dubbo 3.2.0 的filterChain 的核心类是DefaultFilterChainBuilder。原创 2023-06-17 19:31:24 · 469 阅读 · 0 评论 -
dubbo3 staterouter简要分析
dubbo3 先filter invoker 然后在进行route 选择。headStateRouter 默认就是MockInvokersselector。整个router也是链式调用,构建代码如下。continueRoute函数实现如下。如果是cache的state,通过。原创 2023-06-16 21:47:39 · 225 阅读 · 0 评论 -
dubbo3 Cluster wrapper初始化及extensionloader分析
注意是生成instance是下一个wrapper 类的构造函数的参数,最后返回的是最后一个wrapper类。但是debug,可以看到cluster 调到了MockClusterWrapper,这个是怎么来的呢?这是放在internal目录下,使用internal load Strategy优先load的。Cluster load的extension 的resouce文件是。从以下代码,可以看到dubbo默认的服务是failover。如果配置了其它模式,如failfast,也是类似的。因此最后生成的类如下。原创 2023-06-16 21:10:07 · 308 阅读 · 0 评论 -
dubbo 3.2.0 @Method 及callback 和notify 简单分析
dubbo 对callback的说明在关键内容如下:特性说明参数回调方式与调用本地 callback 或 listener 相同,只需要在 Spring 的配置文件中声明哪个参数是 callback 类型即可。Dubbo 将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑。可以参考 dubbo 项目中的示例代码。使用场景回调函数通知客户端执行结果,或发送通知,在方法执行时间比较长时,类似异步调用,审批工作流中回调客户端审批结果。最核心的配置其实是下面这一段原创 2023-06-12 08:32:13 · 931 阅读 · 0 评论 -
dubbo 3.2.0 protocol 源码简单分析
和cluster一样,protocol 也是通过adaptive进行选择的,adaptive代码如下。实际默认serialize类fastjson2,如下图。原创 2023-06-09 22:32:24 · 130 阅读 · 0 评论 -
dubbo3 rocketmq extension 简单分析及放弃
在https://github.com/apache/dubbo-spi-extensions 可以看到很多extension,需要做spi扩展的都可以去学习。但进一步分析代码,可以发现最新版本1.0.4和dubbo 3.2.0是不兼容,同时通过url获取name server有bug。rocketmq 也是其中之一,相关SPI还有nameserver registry。如果要使用,需要修改不少代码。原创 2023-06-09 22:28:22 · 60 阅读 · 0 评论 -
dubbo 3.2.0 qos简单记录
QOS不仅仅是质量记录,实际有online和offline 操作(如下图),因此必须做好安全控制。原创 2023-06-09 22:22:20 · 319 阅读 · 0 评论 -
dubbo 3.2.0 merge模式及 adaptive class 生成过程
可以通过cluster指定模式,比如改为failback,也就是merge是按设置调用相关group对应的service,但每个group内如何调用是通过cluster及balance控制。把这个类放到Project,就可以进行debug,debug就会发现一个奇怪的类:MOCKcluster被引用,然后才是FailoverCluster。无法跟踪,原因cluster是通过JavassistCompiler类编译生成的adaptive 类。来生成,注意下这里的DEFAULT ,决定了实际invoker。原创 2023-05-31 20:57:33 · 634 阅读 · 0 评论 -
dubbo 3.2.0 token-有bug慎用
github也有一个issue https://github.com/apache/dubbo/issues/8383。这个错误会导致provider 下线,因此慎用,如果一定要用那么就指定token的值,不用使用UUID产生。可以看到这个是一个UUID的,多个provider实例会有不同token。因此在多provider的情况下会导致token 不一致,会有如下错误。通过consumer 的url来设置token,如下图。dubbo3 provider可以配置token。原创 2023-05-31 20:40:34 · 752 阅读 · 1 评论 -
dubbo 3.2.0 consumer bean初始化及服务发现简记
在创建proxy的过程中,可以多次看到TargetService和protocolServiceKey的处理,核心是找到两者批量的service。invoker 是在服务发现后依次进行router-cluster-failover 判定后进行调用,可以参考下图。初始化为class org.apache.dubbo.config.spring.ReferenceBean。dubbo 的服务调用是proxy通invoker实现,因此核心过程就在如下函数中。为例,先使用spring 的初始化,核心代码。原创 2023-05-28 08:33:31 · 857 阅读 · 0 评论