6

初めてAmazonSQSとAmazonSNSに出くわしました。私はJavaの職場でこれらを使用します。

これらについていくつか質問がありますが、

  1. 私はJavaの知識があまりないので、それほど進んだとは言えませんが、中級の知識があるとは言えます。それで、私がこれらの領域に触れても大丈夫ですか?

  2. これらのサービスとは正確には何であり、どのように役立ちますか?実際の例が役立ちます。

どんな提案やコメントも役に立ちます。

4

2 に答える 2

6

それらを使用するために高度な Java の知識が必要だとは言いませんが、自分で判断してみてはいかがでしょうか? AWS SDK for Java はhttp://aws.amazon.com/sdkforjava/で入手できます。

http://aws.amazon.com/sns/およびhttp://aws.amazon.com/sqs/に紹介情報があり、詳細なドキュメントへのリンクがあります。

SQS は、インターネットを介してシステムの部分間で信頼性の高い非同期メッセージを送信する必要がある場合に役立ちます。独自の信頼できるメッセージング サービスを設定する労力と費用を節約し、スケーラビリティを提供します。メッセージがすぐに到着する必要はないが、行方不明になってはならない場合に便利です。請求 (販売記録) やその他の時間的制約のない金融取引がその例です。SQS は「少なくとも 1 回」の動作を提供することに注意してください。まれに、メッセージを複数回配信する場合があります。

SNS はキューベースではなく、パブリッシュ/サブスクライブです。これは、単純なキューではなく、トピックとサブスクリプションを使用した、より消費者主導のメッセージング スタイルです。このスタイルは、情報のプロデューサーが情報の潜在的な消費者とその正確なニーズをすべて把握していない場合に役立ちます。http://aws.amazon.com/sns/faqs/#0の FAQ でサンプル アプリケーションを参照してください。

于 2012-09-13T21:45:19.460 に答える
6

これらは、ソフトウェア コンポーネント間の信頼できる通信をサポートするために使用する必要があります。ここでの主な問題は、サービスを複数のコンポーネント/層に分割する必要がある理由だと思います。

私はいくつかのユースケースを思いつきました:

  • Web の応答性に影響を与える可能性のある長時間実行されるプロセス: 最も一般的な例は、支払い/クレジット カードの請求が少し遅くなる可能性がある注文処理です。ユーザーに迅速な応答を提供する 1 つのサービスを作成してから、SQS キューにメッセージを送信します。 、すべての面倒な作業を行うバックオフィス コンポーネントをトリガーします。

  • さまざまなスケーラビリティ プロファイル: 一般的な例としては、動画をアップロードして複数のプラットフォームにエンコードする Web アプリケーションがあります。さまざまなコンポーネント、動画のアップロード/閲覧 (多数のサーバー)、および動画のエンコードが少ないサーバーを使用して、さまざまな自動スケーリング グループを作成したい場合があります。容量が大きいほど、使用方法は前の例と同様になります。

  • 並列アクティビティの実行をトリガーする: 注文が処理された後、顧客に電子メールを送信し、配送の税関を準備するよう倉庫に通知し、倉庫で商品を受け取り、顧客の住所に配送するよう輸送サービスに指示する必要があります。ビジネス イベントを発行する SNS トピックを使用し、次のことを行う 3 つのコンポーネントをリッスンする必要があります。

    1. メールのフォーマットと送信
    2. 倉庫サービスコール
    3. トランスポートサービスコール

他にも多くの使用シナリオがある可能性があります。ソリューションが何をする必要があるかを教えていただければ、より正確にお手伝いできるかもしれません。

于 2012-09-14T09:38:28.450 に答える