摘要:
一、服务引用流程 服务引用时,是通过 <dubbo:service> 标签或者 @Reference 注解来做到的,下面就解析一下服务引用流程。 1、ReferenceBean 实现了 FactoryBean,是一个工厂 Bean public class ReferenceBean<T> exte 阅读全文
摘要:
一、服务暴露流程 服务暴露时,是通过 <dubbo:service> 标签或者 @Service 注解来做到的,下面就解析一下服务暴露流程。 1、ServiceBean 类,我们知道 ServiceBean 是用来解析 service 标签的,看一下这个类做了什么。 public class Ser 阅读全文
摘要:
一、启动解析 Dubbo 可以很好的 Spring 框架进行整合,而且可以在 Spring 的 xml 配置文件中进行配置 Dubbo 的相关信息,那么是如何进行解析配置文件的呢? 在 Spring 中 BeanDefinitionParser 接口是用来解析 xml 配置文件的顶级接口,来看一下它 阅读全文
摘要:
Dubbo 框架设计 一、整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Co 阅读全文
摘要:
一、RPC 原理 一次完整的 RPC 调用流程(同步调用,异步调用另说)如下: 1)服务消费方(client)调用以本地调用方式调用服务; 2)client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体; 3)client stub找到服务地址,并将消息发送到服务端; 4)s 阅读全文
摘要:
一、集群容错 集群调用失败时,Dubbo 提供的容错方案 在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。 各节点关系: 这里的 Invoker 是 Provider 的一个可调用 Service 的抽象,Invoker 封装了 Provider 地址及 Servi 阅读全文
摘要:
一、服务降级 1、什么是服务降级 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。 2、降级 Dubbo 服务 可以通过服务降级功能临时屏蔽某个出错的非关键服务,并定义降级后的返回策略。 向注册 阅读全文