上一页 1 2 3 4 5 6 ··· 9 下一页
摘要:服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由,筛选出符合路由规则的服务提供者。服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者 Dubbo 目前提供了三种服务路由实现,分别为 条件路由 ConditionRout 阅读全文
posted @ 2020-06-16 12:51 cao_xiaobo 阅读(80) 评论(0) 推荐(0) 编辑
摘要:前言 集群容错源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance 集群工作过程可分为两个阶段: 第一个阶段是在服务消费者初始化期间,集群 Cluster 实现类为服务消费者创建 Cluster Invoker 实例, 阅读全文
posted @ 2020-06-16 12:49 cao_xiaobo 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、前言 Dubbo内核 dubbo所有功能都是基于dubbo内核之上完成的,dubbo内核由四部分构成,分别为SPI、Adaptive、Wrapper、Activate。而dubbo的内核设计原则,也是我们所熟悉的aop,ioc与动态编译compiler,这些称之为dubbo的内核原理。 Wrap 阅读全文
posted @ 2020-06-16 12:47 cao_xiaobo 阅读(587) 评论(0) 推荐(0) 编辑
摘要:Adaptive是Dubbo的自适应拓展机制。自适应拓展机制是为了解决什么问题? 解决如何根据运行时参数信息动态选择需要加载的拓展的类 常用的拓展类: interface com.alibaba.dubbo.cache.CacheFactory interface com.alibaba.dubbo 阅读全文
posted @ 2020-06-16 12:40 cao_xiaobo 阅读(284) 评论(0) 推荐(0) 编辑
摘要:SPI 全称为 Service Provider Interface,是一种服务发现机制 一、Java SPI 从上面可以看出Java中的SPI最大的缺点是会加载一些不必要的组件。 二、Dubbo SPI (1)基本原理 Dubbo在某个接口上加上@SPI注解后,表明该接口为可扩展接口 Extens 阅读全文
posted @ 2020-06-16 12:36 cao_xiaobo 阅读(194) 评论(0) 推荐(0) 编辑
摘要:服务提供者服务暴露过程是,当服务提供者NettyServer启动完成后,向ZK注册订阅的过程 服务消费者服务暴露过程是,创建代理对象的时候,注ZK注册订阅的过程 一、服务提供方 注册服务:调用register方法,ZookeeperRegistry中的doRegister方法。zk节点上生成prov 阅读全文
posted @ 2020-06-16 12:32 cao_xiaobo 阅读(304) 评论(0) 推荐(0) 编辑
摘要:一、Dubbo中的URL 一个标准的 URL 格式至多可以包含如下的几个部分 protocol://username:password@host:port/path?key=value&key=value 在 dubbo 中,也使用了类似的 URL,主要用于在各个扩展点之间传递数据,组成此 URL 阅读全文
posted @ 2020-06-16 12:29 cao_xiaobo 阅读(293) 评论(0) 推荐(0) 编辑
摘要:RPC 起源 RPC 这个概念术语在上世纪 80 年代由 Bruce Jay Nelson 提出。这里我们追溯下当初开发 RPC 的原动机是什么?在 Nelson 的论文 "Implementing Remote Procedure Calls" 中他提到了几点: 简单:RPC 概念的语义十分清晰和 阅读全文
posted @ 2020-06-16 12:28 cao_xiaobo 阅读(1484) 评论(0) 推荐(0) 编辑
摘要:执行过程如下图所示 代理bean方法调用,即代理bean方法调用 我们知道demoService的bean是一个代理类,并且这个代理类继承com.alibaba.dubbo.common.bytecode.Proxy这个类,代理类中sayHello方法内部代码如下: (来源于Dubbo官网) /** 阅读全文
posted @ 2020-06-16 12:24 cao_xiaobo 阅读(788) 评论(0) 推荐(0) 编辑
摘要:服务提供者初始化过程,即ServiceBean 初始化过程 一、解析配置文件 spring在解析配置文件的过程中,会找到dubbo 命名空间对应的handler,DubboNamespaceHandler public class DubboNamespaceHandler extends Name 阅读全文
posted @ 2020-06-16 12:14 cao_xiaobo 阅读(296) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页