RPC (remote procedure call, 远程过程调用)协议是一种计算机通信协议,该协议允许本地计算机上的程序远程调用另一台计算机上的程序。
常见的RPC协议有:java RMI(Java remote method invocation),Apache Dubbo,Hessian,XML-RPC,Apache Thrift。
Dubbo接口自动测试的四种方法:
基于XML,使用XML文件配置消费者;基于API,使用Dubbo API直接配置消费者;基于注解,使用注解和properties文件配置消费者(已完成搭建);泛化调用:泛化调用主要用于消费者没有API接口的场景,这时不需要引入接口的jar包,直接通过GenericService接口来Dubbo接口调用,Dubbo自动化测试框架也是基于泛化调用实现的。
XML配置消费者:
1.pom文件中引入服务包
2.创建consumer.xml,配置dubbo服务
PS:registry,注册zookeeper注册者
reference:具体到需要调用的dubbo的service
interface属性设置消费者需要使用的的服务,version属性服务版本,version如果不填的话,会造成与服务提供者的接口版本号不一致,从而无法找到服务提供者。
3.使用dubbo服务
2.通过直连的方式调用dubbo服务接口
绕过注册中心,直接连接服务提供者来调用Dubbo接口。直连的优点是只关心Dubbo本身的功能,更为存粹。直连的优点是只关心Dubbo本身的功能,更为存粹。缺点是无法模拟真实服务消费者的调用,因为真实服务消费者是通过注册中心的订阅/发布策略来获取服务提供者,并进行Dubbo接口调用。(删除registry标签,换上dubbo服务地址)
基于API方式
所谓API的方式,就是将写在xml的文件设置在@BeforeClass的init方法中,其中配置application,registry。API与XML有一一对应的关系,eg:ApplicationConfig.setName("MyName")对应<dubbo:application name="MyName">
基于注解的方式
和上述两种方法的主要不同点在于,注解的方式会将配置文件注入到Bean文件中。