服务发布 启动流程 1.ServiceConfig#export 服务提供方在启动部署时,dubbo会调用ServiceConfig#export来激活服务发布流程,如下所示: Java API: ```java // 1. 创建ServiceConfig实例 ServiceConfig serviceConfig = new ServiceConfig<>(); // 2. 设置应用程序配置 serviceConfig.setApplication(new ApplicationConfig…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 和reference的实现思路略有不同1. 在spring对接这一层略有区别ServiceBean不再是一个bean factory,而是Applica…
注: 本系列文章已捐赠给 Dubbo 社区,你也可以在 Dubbo 官方文档中阅读本系列文章. 1. 简介 在前面的文章中,我们分析了 Dubbo SPI.服务导出与引入.以及集群容错方面的代码.经过前文的铺垫,本篇文章我们终于可以分析服务调用过程了.Dubbo 服务调用过程比较复杂,包含众多步骤.比如发送请求.编解码.服务降级.过滤器链处理.序列化.线程派发以及响应请求等步骤.限于篇幅原因,本篇文章无法对所有的步骤一一进行分析.本篇文章将会重点分析请求的发送与接收.编解码.线程派发以及响应的发…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 在duboo源码分析1-reference bean创建 分析了reference bean的创建之后,这里分析怎么拿这个创建出来的bean发起服务调用…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo提供了telnet的方式,直接用命令查看服务信息等.怎么实现的呢. 1. 编解码器 com.alibaba.dubbo.remoting.transport.netty.NettyCodecA…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 值得学习的地方:在reference这一侧是如何做到了对应用透明? 分析代码后不难发现:使用javassist的字节码技术+代理. 这种实现框架对应用透…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 真正的netty server并没有太多的技术含量.主要还是依赖handler的细节处理.…
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分析4-基于netty的dubbo协议的server dubbo源码分析5-dubbo的扩展点机制 dubbo源码分析6-telnet方式的管理实现 说是扩展点 其实有点DI的意思,只是简单的di 大多框架都会造DI的轮子 dubbo这里是,struts2也是. 机制不是很复杂 更全面的思维导图 即 …
Java中的SPI SPI,Service Provider Interface,java中提供的一种使程序可扩展的方式,系统定义好接口规范,供其他服务提供方实现,服务提供方将自己jar包META-INF/services下新建一个以接口全名称定义的文件,里面内容写上自己服务的实现的类名,每一行代表一个实现,服务使用方可以通过ServiceLoader.load加载所有的服务,然后判断可以使用的服务.具体可以参考reference dubbo中的SPI dubbo也使用了类似Java中的SPI机…
启动Eureka注册中心之后,服务提供方就可以注册到Eureka上去(作为一个Eureka的客户端) 我们使用IDEA提供的spring initializer来新建一个springcloud项目 填写相关的包名等信息: 选择web和Erureka Discorvery 填写Gradle等相关信息完成创建 我们需要在启动类里边增加注解 @EnableDiscoveryClient 来标识这是一个Eureka客户端 启动类的代码如下: package com.jiaoyiping.springcl…