SPI 全称为 Service Provider Interface,是一种服务发现机制 一、Java SPI 从上面可以看出Java中的SPI最大的缺点是会加载一些不必要的组件。 二、Dubbo SPI (1)基本原理 Dubbo在某个接口上加上@SPI注解后,表明该接口为可扩展接口 Extens ...
分类:
其他好文 时间:
2020-06-16 13:26:35
阅读次数:
82
1.什么是接口测试 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。 2.基本流程 ...
分类:
其他好文 时间:
2020-06-16 13:16:41
阅读次数:
71
服务提供者服务暴露过程是,当服务提供者NettyServer启动完成后,向ZK注册订阅的过程 服务消费者服务暴露过程是,创建代理对象的时候,注ZK注册订阅的过程 一、服务提供方 注册服务:调用register方法,ZookeeperRegistry中的doRegister方法。zk节点上生成prov ...
分类:
其他好文 时间:
2020-06-16 13:14:31
阅读次数:
192
服务消费者初始化过程,即生成RefrenceBean的过程 整体执行流程 备注:Dubbo 默认使用 Javassist 框架为服务接口生成动态代理类,可以使用使用阿里开源 Java 应用诊断工具 Arthas 反编译代理类 Dubbo官网提供的时序图 一、RefrenceBean生成过程 Refr ...
分类:
其他好文 时间:
2020-06-16 13:04:42
阅读次数:
44
一、Dubbo中的URL 一个标准的 URL 格式至多可以包含如下的几个部分 protocol://username:password@host:port/path?key=value&key=value 在 dubbo 中,也使用了类似的 URL,主要用于在各个扩展点之间传递数据,组成此 URL ...
分类:
Web程序 时间:
2020-06-16 13:00:52
阅读次数:
89
服务提供者初始化过程,即ServiceBean 初始化过程 一、解析配置文件 spring在解析配置文件的过程中,会找到dubbo 命名空间对应的handler,DubboNamespaceHandler public class DubboNamespaceHandler extends Name ...
分类:
其他好文 时间:
2020-06-16 13:00:19
阅读次数:
104
RPC 起源 RPC 这个概念术语在上世纪 80 年代由 Bruce Jay Nelson 提出。这里我们追溯下当初开发 RPC 的原动机是什么?在 Nelson 的论文 "Implementing Remote Procedure Calls" 中他提到了几点: 简单:RPC 概念的语义十分清晰和 ...
分类:
其他好文 时间:
2020-06-16 12:53:15
阅读次数:
73
执行过程如下图所示 代理bean方法调用,即代理bean方法调用 我们知道demoService的bean是一个代理类,并且这个代理类继承com.alibaba.dubbo.common.bytecode.Proxy这个类,代理类中sayHello方法内部代码如下: (来源于Dubbo官网) /** ...
分类:
其他好文 时间:
2020-06-16 12:52:52
阅读次数:
50
四.Dubbo调用过程 或许目前有些同学还不能理解整个组件穿起来的工作工程,所以先以服务暴露/注册为例子简单描述下。首先服务端(Provider服务提供者)在框架启动时,会初始化服务实例,通过Proxy组件调用具体协议(Protocol),把服务端要暴露的接口封装成Invoker(真实类型时Abst ...
分类:
其他好文 时间:
2020-06-14 20:59:28
阅读次数:
65
通常,功能上线之前,压测是必不可少的,可以从以下几个点进行优化 : 1、Redis连接数、大key(hash key)。但凡用到线程池的地方,都是有优化空间的,合理设置线程池参数可以提高吞吐量。这些参数的设置是经过很多次的压测调整再压测这样试出来的; 2、Dubbo线程数、超时时间等; 3、内存缓存 ...
分类:
其他好文 时间:
2020-06-14 14:45:41
阅读次数:
52