33

私は現時点で、React NativeフロントエンドとLambdaベースのバックエンドからなる新しいゲームプロジェクトに取り組んでいます。このアプリには、アクティブユーザーレコード、ジオフェンシングなどのリアルタイム機能が必要です。Firebase Realtime Databaseと同等のAWSは何ですか?

リアルタイムデータ同期のための非常に洗練されたソリューションのように見えるFirebaseのリアルタイムデータベースを見ていましたが、AWSには何もないと思いますそれはかなり好きです。この1つは、管理WebSocketを接続非常に明白であるAWSのIoTメッセージングWebSocketを

上:

私は唯一のAWSサービスを利用して、「サーバレス」リアルタイムのための考えることができ3つのオプションは次のとおりです。

オプション1 IoT SDKを使用します。私はインバウンドとアウトバウンドのイベントに応答してLambdasをトリガすることを考えていました。通常のように、アプリケーションクライアントでカスタム処理ロジックを構築して、リアルタイムレイヤとしてWebSocketを使用するだけです。

少なくともFirebaseと比較して、私は自分自身でイベントのデータを処理する必要があります。これはWebSocketの上に別の管理レイヤーを追加し、APIデータレイヤーで標準化する必要がありますアプリケーションの店舗で

長所:

  • スケーラブルな双方向のリアルタイム接続

短所:

  • アプリが開いているときにのみ動作します
  • メッセージ構造は
  • を実装する必要があります
  • 複数のトランスポート層を

オプション2の管理:プッシュトリガ再フェッチ

別のオプションは、リアルタイムではなく、実際に更新されたペイロードを取得するAPI Gatewayに通常のHTTPリクエストを使用してトリガとして、プッシュ通知を使用することです。

私はこのアプローチがアプリケーションの状態に対して1つのトランスポートレイヤーと1つの真実のソースにしか固執していないため、このアプローチが好きです。また、プッシュ通知であるため、アプリが開いていないときに更新を開始します。

これは、取り込む必要があるデータへのプッシュ通知の間に潜在的に困難なマッピングを伴うカスタム作業が多いことです。

  • ほとんどのカスタムソリューション
  • 長所:アプリが真実の

  • シングルソース、トランスポート層

短所を閉じているとき

  • プッシュ通知にも働きますより多くのHTTPリクエストを処理しますすべて

Cognito同期 これは私にとって新しいものです、それは実際にサーバからで接続することができるかどうかはわかりません。

Cognito Syncは、ユーザー状態の同期を提供します。オフラインでのサポートが完了しているデバイスを問わず、とにかく使用するCognito SDKの一部です。私が探しているもののように聞こえるが、AWSからの更新だけでなく、デバイスからの更新も変更またはトリガーすることが可能であるという決定的な証拠は見当たらない。

長所:

  • は、ユーザレコードが

短所OOTB抽象化されたリアルタイム・データ・モデルにCognitoに接続

  • を提供します:変更できるのであれば

    • わからないのかLambdasから更新されました


    、誰もが経験ラムダベースのアーキテクチャの一部として、AWS上でリアルタイムに行うと、先に進むための最良の方法であるかについての意見を持っている場合がある場合、私は思ったんだけど?

  • +0

    あなたは[Firebase web app](https://firebase.google.com/docs/web/setup)にゲームを実装すると考えましたか? AWSに「Firebase機能」を実装する代わりに、[ReactFire](https://github.com/firebase/reactfire)を使用していますか? – matsev

    +0

    私は持っていますが、AWSがインフラストラクチャの一部として提供する多くのサービスを使用しています.Firebaseはトランスポートレイヤーのみを解決し、残りの部分はAWSによって処理されます。 – BarakChamo

    +3

    あなたが行ったオプションが好奇心で、私は自分自身でオプション1を試してみたいと思っています – Alex

    答えて

    17

    私はAWSサポートと同様の質問をしました。これが彼らの対応でした。それらに

    私の質問:

    同じ ブラウザ内のリアルタイムDBaaSがFirebaseのように感じることを与えるために、AWSサービス(それが可能だ場合)のグループは何ですか?

    AWS Cognitoは、ユーザーアカウントでは優れているようです。 WebSockets /リアルタイムDBの部分に何か が似ていますか?

    彼らの応答:あなたの質問に

    、Firebaseは、AWSサービスAWS MobileHubに最も近いです。下記のリンク からモバイルハブについての詳細を以下で確認できます。

    https://aws.amazon.com/mobile/details/ https://aws.amazon.com/mobile/getting-started/

    「AWS Cognitoは、ユーザーアカウントの素晴らしいことのようです。WebSocketを/リアルタイムDBの一部のための同様のもの はありますか?」

    Amazon Dynamodbは、 で一貫した一桁のミリ秒レイテンシを必要とするすべての アプリケーションに対して、高速かつ柔軟なNoSQLデータベースサービスです。これは完全に管理されたクラウドデータベースで、 文書とKey-Valueストアモデルの両方をサポートします。柔軟性のあるデータモデル、信頼性の高い のパフォーマンス、およびスループット能力の自動スケーリングにより、モバイル、ウェブ、ゲーム、広告技術、IoT、その他の多くのアプリケーションに最適です。

    アマゾンDynamoDBのがさらに完全に管理され、高可用性であるアマゾンDynamoDBの アクセラレータ(DAX)もリクエストの数百万人で、マイクロ秒に ミリ秒からアマゾンDynamoDBの応答時間を短縮することができます のインメモリキャッシュを最適化することができ、毎秒。

    詳細については、以下のドキュメントを参照してください。

    https://aws.amazon.com/dynamodb/getting-started/ https://aws.amazon.com/dynamodb/dax/

    ご不明な点がありましたら、 私に知らせすることを躊躇しないでください。

    ありがとうございました。 https://aws.amazon.com/premiumsupport/knowledge-center/?icmpid=support_email_category

    敬具、

    Tayo O. Amazon Webサービス

    は、AWSサポートのナレッジセンター、AWSのサービスに関する顧客からの質問に答える 記事や動画の知識ベースをチェック

    この回答を調べているうちに、私もこのことが分かりました。興味深いです。

    https://aws.amazon.com/blogs/database/how-to-build-a-chat-application-with-amazon-elasticache-for-redis/

    この記事へのコメントも面白いです。

    ヤコブWakeem:この アプローチはIOT AWSを使用しての上に持っているどのような利点 ? iotはこれらのすべてを の機能を1つのコード行とサーバーなしのアーキテクチャ と書くことなく機能しているようです。

    サムDengler: AWSのIoT サービスで管理さPubSubの機能は のように、また記事に示された一つのメッセージベースのアプリケーションへの良いアプローチです。 Elasticache(Redis)を使用すると、Pub/Subを使用している の顧客は、通常、キャッシュ、リーダーボードなどのその他の用途のためにデータ ストアとしてRedisを使用しています。 と言って、ElastiCache AWS IoT規則 エンジンを使用してAWSラムダ関数をトリガーすることにより、AWS IoTルールを実行します。メッセージベースのアプリケーションがどのように構築されているかによって、データがどのように利用されるかによって、 よりも適している可能性があります。

    0

    データベースの検索や計算など、さまざまなデータソースを使用して、これらのリアルタイム機能とオフライン機能の一部をAWS AppSyncでチェックしてください。

    関連する問題