2

いくつかのモバイル アプリ (Windows Phone/iOS/Android) のアイデアを実装したいと考えています。それらのほとんどは、他のグループのデバイスでユーザー データの更新を取得する必要があります。

たとえば、グループに送信される即時の更新を必要としない 1 つのシナリオ: 家族がアプリで支出を追跡できるとします。新しく追加された費用は、他の家族のデバイスに自動的に (または同期を選択した場合は手動で) 自動的に同期されます。

グループにすぐに更新を送信する必要がある 2 番目のシナリオ: すべてのカード ゲームを考えてみましょう。または、ブラックジャックのゲーム シナリオでは、テーブルにいるすべてのプレイヤーに、ディーラーが各プレイヤーに対してどのカードを開いたかを通知する必要があります。

質問: Amazon SQS(キュー)、SNS(通知)サービスを探し始めました。しかし、最初に読んだだけでは、まだ結論に達していません。Azure も読むつもりです。

上記のシナリオを達成するのに役立つサービスは何ですか?

SQS の質問: SQS はどのように機能しますか? キューから 1 つの項目を読み取ると、それがキューから削除されると推測しています。そのため、1 つのデバイスに新しい費用が追加された場合、アイテムがキューから削除されたため、ファミリ内の他のデバイスには追加されません。それとも、デバイスごとに 1 つのキューを作成するだけですか? (私の最後に追加のコードロジックが役立つかもしれません)。

これらのサービスについての洞察を教えてください。

ありがとう

4

1 に答える 1

1

答えるのが難しい質問ですが、少し具体的でもあります。その答えは、あの有名な建築の名言「それは場合による」です。Azure の部分でお手伝いできますし、何らかの方法で Amazon にも翻訳できると確信しています。

あなたのシナリオを見てみましょう。

  • シナリオ 1では、あなたが言うようにすぐに更新する必要はありません。N 個のクライアントも存在する可能性があるため、これを処理する最善の方法は Table Storage だと思います。経費をテーブル ストレージに格納し、特定の金額なども別の行に格納します。これらのデータにアクセスするには、次の 2 つのシナリオが考えられます。(1)次のようなメソッドを公開することにより、認証と承認、およびデータ取得を処理する WCF サービスを作成するGetFamilyExpenses(familyId);か、(2) Azure で AppFabric を使用します (ただし、少し高価です)。認証し、テーブル ストレージに直接アクセスします。更新はアプリケーション内で処理されます...
  • シナリオ 2も少し特殊です。ゲームですからアップデートは何よりも瞬間的である必要があります。ここでの正しい実装に関する私の見解は、(いずれかのサービスでホストされている) サービスと直接 TCP チャネルを確立し、何らかのカスタム プロトコルを介して通信することです。(少なくとも Azure では) まだキューをポーリングする必要があるため、キューは役に立ちません。
  • 言及していないシナリオ 3ですが、ここでキューが登場します。5 つの小売店、ラップトップを持つマネージャー、および倉庫があるとします。小売店が指定された在庫数に達すると、倉庫から新しいアイテムを発送する必要があります。そのため、購入が行われると、監査トピックと倉庫トピックの2 つのトピックにキュー アイテムが送信されます。監査トピックはマネージャーのアプリケーションによって読み取られ、マネージャーは進行中のすべてを確認できます。

これは、Azure で利用できるオプションの基本的な概要です。助けになる場合は、賛成票を投じたり、回答としてマークしたりすることを忘れないでください。

于 2011-07-18T07:24:36.427 に答える