0

iPhoneでメッセージアプリを開発中です。Railsで開発しているバックエンド。また、AWS にバックエンドをアップロードする予定です。

私たちのアプリケーションの機能は次のとおりです。• ユーザーが他のユーザーにメッセージ (写真、ビデオ) を送信すると、Amazon S3 に添付ファイルが保存され、データベースにエントリが保存されます。• バックエンドは受信者に通知を送信し、受信した通知を iPhone アプリに表示する必要があります。• ユーザーが iPhone アプリケーションにログインするとき、他のユーザーはユーザーのオンライン/オフライン状態を知る必要があります。• アプリケーションの連絡先ビューで、ユーザーは連絡先のオンライン/オフライン ステータスを知る必要があります (プレゼンス管理)。

AWS バックエンドから iPhone アプリに通知を送信するために Amazon SNS を使用する予定です。SNS はプレゼンス管理 (友達のオンライン/オフライン状態) をサポートしていますか? SNS の iPhone アプリケーション開発の例を教えてください。

あまりにも一般的な質問をしている場合は申し訳ありません。

4

1 に答える 1

1

あなたが計画している用途では、SNS と SQS の両方に必要な要件がありません。セレクター機能がありません。セレクター機能があれば、受信者などの特定のメタデータに従ってメッセージをフィルタリングするために使用できます。 Java JMS と同様に、SELECTOR という用語の詳細については、javadoc javax.jms.Messageを参照してください。

さらに、メタデータに基づいてユーザー アクセスを制限する方法も必要です。現在、パーミッションは SNS および SQS の個々のキューから利用可能な操作のみに基づいており、十分な粒度ではありません。

したがって、理想的なソリューションは、EC2 にサービスを実装し、すべてのメッセージとオンライン ステータスのフローを調整し、メッセージの長期保存用にバックエンド データベースを使用し、オプションでエラスティック キャッシュを使用して、メッセージとオンラインの応答を低レイテンシーにすることだと思います。状態。

スケーラビリティを向上させて結合を減らすために、内部 SNS トピックを使用して中間キャッシュとデータベースの更新を延期することも検討する必要があります。

サーバー上で利用可能なメッセージのローカルキャッシュとしてiPhoneデータベースを使用できることも覚えておく価値があります.

于 2012-08-08T11:17:41.167 に答える