3

私たちは多くのサービスを開発しようとしていますが、どの「応答」メカニズムが最適なルートかはわかりません。2つの候補は次のとおりです。

  1. HTTP コールバック。サービスは、HTTP リクエスト経由で送信された更新メッセージで「ping」を実行してクライアント アプリケーションを更新します。
  2. メッセージ パッシング。サービスは、メッセージ サーバー上の pub-sub キューにメッセージをパブリッシュすることでクライアントを更新します。

どちらの場合も、呼び出し元とサービスの両方がネットワーク内にあり、それらを完全に制御でき、開発したものだけがサービスのユーザーです。

呼び出し元のアプリケーションにステータスの更新を提供する各方法の長所と短所は何ですか? また、いずれかの方法で最初のリクエストを行う場合の長所と短所は何ですか?

注: このために考えている最初のサービスは、SendGrid に似たメール サービスです。これはさまざまな理由で使用できませんが、それでも同じ機能が必要です。

4

1 に答える 1

3

主な違いは、メッセージング サーバーで「すぐに」利用できるサービスの品質です。

HTTP を使用する場合、アプリケーションは、メッセージが期待どおりに到着しない場合に何が起こるかを処理する必要があります。考慮する必要がある問題とその解決に伴う複雑さについて理解するには、WS-ReliableMessagingまたはHTTPLRを参照してください。

メッセージングを使用すると、構成可能なレベルの信頼性をすぐに利用できます。そして最近では、ActiveMQ、RabbitMQ、0MQ など、適切な選択肢がたくさんあります。

私の個人的な好みは、トランスポート層で (メッセージングによって) 信頼性を処理することですが、適切な議論と反対意見については、「誰も信頼できるメッセージングを必要としない」を参照してください。

于 2012-10-11T01:34:50.520 に答える