ダボインタフェーステスト研究ノート

ダボについて:

  分散リモート・サービス・コールのためのフレームワークは、コール転送プロトコルと契約は、典型的には、プロトコルのシーケンスを含みます。ダボ自体は、ダボRPC(バイナリシリアライゼーション+ TCPプロトコル)、HTTP呼び出し(バイナリシリアライゼーション+ HTTPプロトコル)、ヘッシアン(バイナリシリアライゼーション+ HTTPプロトコル)、Webサービス(テキストシリアライゼーション+ httpプロトコルとして、リモート呼び出しの様々なサポート)というように。

公式ウェブサイトのアドレス

ノードロールの説明
ノード ロール説明
Provider サービスプロバイダのサービスを公開
Consumer リモートサービスコンシューマサービスを呼び出します
Registry サービスの登録と発見レジストリ
Monitor 通話統計の数は、監視センターサービスおよび通話時間
Container コンテナサービスを実行します
コール関係の説明
  1. サービスコンテナ、ロード、実行するサービスプロバイダを開始するための責任。
  2. サービスプロバイダは、あなたは、彼らがレジストリに提供する登録サービスを起動したとき。
  3. 起動時に消費者のサービスは、あなたがサービスレジストリに登録する必要があります。
  4. レジストリリターンアドレスリストサービスプロバイダの消費者に変更がある場合、レジストリは、消費者へのデータ接続を変更するには長押しに基づいて行われます。
  5. サービスの消費者は、アドレスのリスト、ソフトの負荷分散アルゴリズムのプロバイダは、呼び出しが失敗した場合、その後、別のコールを選択し、プロバイダのコールを選択してください。
  6. サービスコンシューマとプロバイダは、通話の累積数のメモリと時間を呼び出し、時間が監視センターに1分ごとに統計データを送りました。

 

どのようにダボインタフェースをテストするには:

Pythonのヘッセ+ HTTPウェイ・コール:

1、ダボのプロジェクトは、ヘッセ道のシリアライズ、およびその依存関係を高めます。次の図は、XML構成の例を示しています。

公式設定ヘッセプロトコルと例を頼ります

公式のマルチプロトコルの構成例

 

前記基準方法およびアプローチに、(監視と管理中心に見ることができる)インタフェースのアドレスを取得します。

 

図3に示すように、実装のpython-ヘッセ

python -mピップのpython-ヘッセ行列をインストール

 

4、Pythonスクリプト呼び出しインタフェース

1  # coding=utf-8
2  from pyhessian.client import HessianProxy
3  url = "http://169.254.210.145:1234/com.ymxdclass.user.service.UserService" 
4  params = u"什么我调用成功了吗"
  # 创建连接对象 5 service = HessianProxy(full_url)
  # 调用方法(重载方法__main__()里发送二进制数据请求,进行调用)
6 res = service.sayHello(params) 7 print(res)

pyhessian官方调用例子

 

java调用脚本

 1 import com.ymxdclass.user.service.UserService;
 2 import org.junit.BeforeClass;
 3 import org.junit.Test;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5 
 6 public class ConsumerTest {
 7     static ClassPathXmlApplicationContext context;
 8     static UserService userService;
 9     @BeforeClass
10     public static void beforeClass(){
11         if(context==null) {
12             // 默认从类路径中加载配置文件
13             context = new ClassPathXmlApplicationContext("consumer.xml");
14             System.out.println("load");
15             // 在Spring中还提供了Lifecycle接口,Lifecycle中包含start/stop方法,实现此接口后Spring保证在启动的时候调用其start方法开始生命周期,主要用于控制异步处理过程
16            context.start();
17 //            System.out.println("start");
18         }
       // 创建接口实例(定义接口的引用变量,再引用实现了该接口的实例)
19 userService=(UserService) context.getBean("userService"); 20 21 } 22 @Test 23 public void consumerTestCase1(){
       // 调用方法
24 String hello = userService.sayHello("world"); 25 System.out.println("result: " ); 26 System.out.println(userService.sayHello("yummy ")); 27 } 28 29 }

 

おすすめ

転載: www.cnblogs.com/minerrr/p/10932465.html