![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dubbo
我不是攻城狮
越努力越幸运
展开
-
dubbo消费方调用服务流程
dubbo解析ReferenceConfig,经过dubbo构建代理、Invoker链路,注册消费者,并且订阅注册中心提供方发布的服务,并且经由cluster集群扩展、路由过滤、负载均衡到Protocol层、exchange层、Transport层完成netty服务消费。无论服务发布还是服务订阅,都是通过dubbo的十层架构完成的,每一层都是通过SPI机制或者adative机制进行扩展实现的,Invoker责任链路能够把每一层的的责任划分开来,结构清晰。原创 2024-06-06 16:07:12 · 367 阅读 · 0 评论 -
dubbo订阅服务
远程引用:创建 invoker 的核心逻辑是在 RegistryProtocol 的 doCreateInvoker 方法中完成的。本地引用:本地引用环节中使用的 invoker 对象是从 InjvmProtocol 中 exporterMap 获取到的。通过解析 @DubboReference 注解来标识需要订阅的服务,并且解析成ReferenceConfig配置类。ReferenceConfig 的 get 方法会先后进行本地引用与远程引用的两大主干流程。2、订阅提供方,可以实时感知到提供方的变化。原创 2024-06-06 16:06:25 · 251 阅读 · 0 评论 -
dubbo发布服务
通过扫描指定包路径下含有 @DubboService 注解的 Bean 定义,把扫描出来的 Bean 定义属性,全部转移至新创建的 ServiceBean 类型的 Bean 定义中,为后续导出做准备。主要有两块,一块是 injvm 协议的本地导出,一块是暴露协议的远程导出,远程导出与本地导出有着实质性的区别,远程导出会使用协议端口,通过 Netty 绑定来提供端口服务。远程导出的一个分支,会将提供方的服务接口信息,通过 Curator 客户端,写到 Zookeeper 注册中心服务端去。原创 2024-06-06 16:05:37 · 461 阅读 · 0 评论 -
Dubbo动态服务下线
1、Dubbo服务消费端会使用Zookeeper里面的Watch来针对Zookeeper Server端的/providers节点注册监听,3、Dubbo Client端收到事件以后,就会把本地缓存的这个服务地址删除,这样后续就不会把请求发送到失败的节点上,完成服务下线感知。2、一旦这个节点下的子节点发生变化,Zookeeper Server就会发送一个事件通知Dubbo Client端。dubbo是依赖Zookeeper里面提供的Watch机制来实现的。原创 2024-06-06 16:04:08 · 447 阅读 · 0 评论 -
dubbo wrapper
占坑。原创 2024-04-23 16:12:31 · 97 阅读 · 0 评论 -
dubbo adaptive
占坑。原创 2024-04-23 16:11:49 · 76 阅读 · 0 评论 -
dubbo compiler
占坑。原创 2024-04-23 16:10:53 · 97 阅读 · 0 评论 -
dubbo proxy
占坑。原创 2024-04-23 16:10:01 · 103 阅读 · 0 评论 -
dubbo启动源码解析
启动机制:1、在dubbo-config包下配置文件(META-INF/spring.handlers)下配置全限定类名:http\://dubbo.apache.org/schema/dubbo=org.apache.dubbo.config.spring.schema.DubboNamespaceHandler2、spring是如何加载dubbo启动配置文件的?基于Spring的Schema和XML的扩展机制实现的,简称spring SPI机制。spring SPI机制(此图引用原创 2021-10-04 16:50:42 · 268 阅读 · 0 评论 -
dubbo十层架构源码
dubbo源码原创 2020-03-11 17:48:52 · 445 阅读 · 1 评论