RPC (remote procedure call, 遠(yuǎn)程過(guò)程調(diào)用)協(xié)議是一種計(jì)算機(jī)通信協(xié)議乡小,該協(xié)議允許本地計(jì)算機(jī)上的程序遠(yuǎn)程調(diào)用另一臺(tái)計(jì)算機(jī)上的程序。
常見(jiàn)的RPC協(xié)議有:java RMI(Java remote method invocation)脑漫,Apache Dubbo,Hessian咙崎,XML-RPC优幸,Apache Thrift。
Dubbo接口自動(dòng)測(cè)試的四種方法:
基于XML褪猛,使用XML文件配置消費(fèi)者网杆;基于API,使用Dubbo API直接配置消費(fèi)者;基于注解跛璧,使用注解和properties文件配置消費(fèi)者(已完成搭建)严里;泛化調(diào)用:泛化調(diào)用主要用于消費(fèi)者沒(méi)有API接口的場(chǎng)景,這時(shí)不需要引入接口的jar包追城,直接通過(guò)GenericService接口來(lái)Dubbo接口調(diào)用刹碾,Dubbo自動(dòng)化測(cè)試框架也是基于泛化調(diào)用實(shí)現(xiàn)的。
XML配置消費(fèi)者:
1.pom文件中引入服務(wù)包
2.創(chuàng)建consumer.xml座柱,配置dubbo服務(wù)
PS:registry迷帜,注冊(cè)zookeeper注冊(cè)者
reference:具體到需要調(diào)用的dubbo的service
interface屬性設(shè)置消費(fèi)者需要使用的的服務(wù),version屬性服務(wù)版本色洞,version如果不填的話(huà)戏锹,會(huì)造成與服務(wù)提供者的接口版本號(hào)不一致,從而無(wú)法找到服務(wù)提供者火诸。
3.使用dubbo服務(wù)
2.通過(guò)直連的方式調(diào)用dubbo服務(wù)接口
繞過(guò)注冊(cè)中心锦针,直接連接服務(wù)提供者來(lái)調(diào)用Dubbo接口。直連的優(yōu)點(diǎn)是只關(guān)心Dubbo本身的功能置蜀,更為存粹奈搜。直連的優(yōu)點(diǎn)是只關(guān)心Dubbo本身的功能,更為存粹盯荤。缺點(diǎn)是無(wú)法模擬真實(shí)服務(wù)消費(fèi)者的調(diào)用馋吗,因?yàn)檎鎸?shí)服務(wù)消費(fèi)者是通過(guò)注冊(cè)中心的訂閱/發(fā)布策略來(lái)獲取服務(wù)提供者,并進(jìn)行Dubbo接口調(diào)用秋秤。(刪除registry標(biāo)簽宏粤,換上dubbo服務(wù)地址)
基于API方式
所謂API的方式,就是將寫(xiě)在xml的文件設(shè)置在@BeforeClass的init方法中灼卢,其中配置application绍哎,registry。API與XML有一一對(duì)應(yīng)的關(guān)系芥玉,eg:ApplicationConfig.setName("MyName")對(duì)應(yīng)<dubbo:application name="MyName">
基于注解的方式
和上述兩種方法的主要不同點(diǎn)在于蛇摸,注解的方式會(huì)將配置文件注入到Bean文件中备图。