私は現時点で、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上でリアルタイムに行うと、先に進むための最良の方法であるかについての意見を持っている場合がある場合、私は思ったんだけど?
あなたは[Firebase web app](https://firebase.google.com/docs/web/setup)にゲームを実装すると考えましたか? AWSに「Firebase機能」を実装する代わりに、[ReactFire](https://github.com/firebase/reactfire)を使用していますか? – matsev
私は持っていますが、AWSがインフラストラクチャの一部として提供する多くのサービスを使用しています.Firebaseはトランスポートレイヤーのみを解決し、残りの部分はAWSによって処理されます。 – BarakChamo
あなたが行ったオプションが好奇心で、私は自分自身でオプション1を試してみたいと思っています – Alex