dubbo
爱吃肉的小猿人
这个作者很懒,什么都没留下…
展开
-
Dubbo源码探析-组件原理
过滤器dubbo过滤器的使用在resources下创建META-INF/dubbp/com.alibaba.dubbo.rpc.Filter文件在文件里指定过滤器类这里可以在执行方法前后执行一些操作@Activate(group = {"provider", "consumer"})public class FilterA implements Filter { @Override public Result invoke(Invoker<?> invoker,原创 2020-08-13 15:40:23 · 133 阅读 · 0 评论 -
Dubbo源码探析-服务注册过程
服务注册过程private void doExportUrls() { //获取注册中心URL List<URL> registryURLs = loadRegistries(true); //遍历所有协议,export protocol并注册到所有注册中心 for (ProtocolConfig protocolConfig : protocols) { doExportUrlsFor1Protocol(protocolCo原创 2020-08-10 18:23:20 · 317 阅读 · 0 评论 -
Dubbo源码探析-服务暴露过程
Dubbo 的服务暴露过程前面已经看到,dubbo 的组件中,ServiceBean和 ReferenceBean 是 比较特殊的。这两个组件,将完成 dubbo 服务的远程 rpc 过程。 ServiceBean 作为服务端,会在 bean 创建成功后,发起服务暴露流 程。其过程如下:在实现的 InitializingBean 接口中,spring 调用 afterPropertiesSet 方法,发起服务的暴露动作。 @Overridepublic void export() { s原创 2020-08-09 21:55:16 · 188 阅读 · 0 评论 -
Dubbo源码探析-Dubbo的配置解析过程
服务的暴露与消费过程Dubbo 的配置解析过程xml 配置的解析过程注解的解析过程@EnableDubboConfig 的过程@DubboComponentScan 的过程service 注解reference 注解Dubbo 的服务暴露过程Dubbo 的配置解析过程dubbo 的配置解析,不论是 xml 方式的配置,还是注解的配置,目标都 是把配置的属性值提取出来,变成 dubbo 的组件 bean(先由 BeanDefinition 描述,然后委托 spring 生成组件 bean)。下面以 xm原创 2020-08-06 18:06:13 · 187 阅读 · 1 评论 -
SPI 机制原理
因 dubbo 框架是建立的 SPI 机制上,因此在探寻 dubbo 框架源码前,我们需要先把 SPI 机制了解透彻java spi 机制SPI 全称 Service Provider Interface,是 Java 提供的一套用来被第三方实现或者扩展的 API,它可以用来启用框架扩展和替换组件。可以看到,SPI 的本质,其实是帮助程序,为某个特定的接口寻找它的实现类。而且哪些实现类的会加载,是个动态过程(不是提前预定好的)。有点类似 IOC 的思想,就是将装配的控制权移到程序之外,在模块化设计中原创 2020-07-30 18:04:47 · 507 阅读 · 1 评论 -
Dubbo基础使用
在上面的章节,我们重点详述了,一个具体的 RPC 调用的全过程。那么在现实工作中,服务节点间的 RPC 调用是非常普遍并且错踪复杂的我们除了要关心 RPC 的过程实现,还需要考虑:服务方是集群时,如何挑选一台机器来响应客户端?因网络抖动引起的调用失败,如何重试来弥补?服务方机器的动态增减,如何能够让客户端及时了解到并做出调整? …Dubbo 的使命,即是解决上述围绕 RPC 过程的问题Dubbo服务的角色关系节点角色说明:调用关系说明:服务容器负责启动,加载,运行服务提供者。原创 2020-07-28 17:10:11 · 410 阅读 · 0 评论 -
分布式中的rpc调用
RPC场景和过程在微服务环境下,存在大量的跨 JVM 进行方法调用的场景,如下图:具体到某一个调用来说,希望 A 机器能通过网络,调用 B 机器内的某个服 务方法,并得到返回值:RPC 的实现切入口从本质上来讲,某个 jvm 内的对象方法,是无法在 jvm 外部被调用的好在 java 中的对象方法的调用,还有反射模式的调用:public class InvokeUtils { public static Object call(Object target,String method原创 2020-07-26 19:39:58 · 364 阅读 · 0 评论