0

私はZeroMQ(ネットワーキングの優れた抽象化)でサービスを実装しています。理想的には、クライアントがサーバーが期待どおりかどうかを判断できれば素晴らしいでしょう。

例:

3 つのサービスがあります。

  1. サムサービス。(ポート 50001 で実行)
  2. 乗算サービス。(ポート 50002 で実行)
  3. 電力サービス。(ポート 50003 で実行)

ただし、別のサービスがこれらのポートを取得したために、サービスがデフォルト ポートで実行されていない場合があります。

プログラムの信頼性を高めるには、このケースを処理する必要があります。

サービスが期待どおりかどうかを確認するにはどうすればよいですか? 私は、標準的な史上最高のアルゴリズム (またはそれを見つけるためのキーワード) を意味します。

アルゴリズムについての私の考え (かなり不完全な場合があります):

  1. クライアントは、何よりもサービスの識別子を含むハンドシェイクを送信します。
  2. クライアントはタイムアウトの応答を待ちます (例: 30 秒)
  3. サーバーは適切に応答します。
  4. オーケー、クライアントは通信を開始します。

例外:

  • 間違った応答
  • タイムアウト
4

0 に答える 0