5

作成中の iPhone アプリ内で多くのユーザーが相互に通信できるバックエンドを作成しようとしています。Core Data、Google App Engine、Google Cloud Storage、Amazon Web Services (RDS & Elastic Beanstalk) を試してみました。残念ながら、これを機能させるために何週間も試みた後、どれも機能しません!

私は、Instagram、Path、Pinterest などのスタートアップ (まだ小さかった頃) がどのようにしてこれを実現したかを知っている誰かと連絡を取ろうとしてきました。しかし、私が成長しているのと同じくらい、そこにいる誰もがこのことを軽蔑しているようです...

多くのユーザーが参照できるように、データを保存およびクエリできるバックエンド データベースを作成する方法を正確に説明してくれる人が欲しいです。つまり、ここでは SQLite、Core Data、または Parse だけでは機能しません!

ある種のチュートリアルは素晴らしいでしょう。

4

1 に答える 1

7

まず、CoreData や sqlite などのテクノロジは通常、ローカル デバイス ストレージです。ローカル デバイス ストレージは、共有クラウド ストレージにはなりません。

Parse.com は、デバイスがクラウド ストレージにアクセスして高速化するための高速な方法です。ゲームやその他のモバイル アプリがアプリ ID とアプリ キーを介してクラウド データにアクセスする場合に特に便利です。すべてのニーズと要件を満たす場合は、独自のバックエンドを作成しないようにするための単純なストレージです。

独自のサービスと複数のデバイスがクラウド アプリケーションにアクセスするマルチテナント クラウド バックエンドに到達したら、Web API の公開を検討する必要があります。http を介して RESTful API を公開することは、デバイスと Web クライアントに最適です。データを JSON として公開することは、Web にとって特に便利であり、デバイスで簡単に使用できます。

クラウド内のこれらの Web サービス エンド ポイントは、複数のクライアントによる同時アクセス用に最適化された、ある種のバックエンド ストレージにアクセスします。これは通常、MySQL や SQLServer などの SQL バックエンドか、mongodbcouchDBなどのNoSQLソリューションです。

検討すべきいくつかのフロントエンド Web API テクノロジー:

検討すべきいくつかのバックエンド ストレージ テクノロジ:

データが多数のマルチテナント クライアントによって使用されている場合、バックエンドはスケールアップ (ますます大きく) されるか、シャーディングされる可能性があります。シャーディングとは、複数のユーザーのデータが多くのデータベースまたはデータストアに分割され、そのユーザーのデータが保存されている場所を見つけるためのリクエスト用のある種のルックアップ アルゴリズムを使用することです。フロントエンド Web API サーバーは、バックエンド ストレージを抽象化します。

最後に、ある種のキャッシング/高速ルックアップ技術が必要になります (成功した場合:):

  • Redis : ソケットを介したメモリ ストレージでの高速化
  • memcached : facebook の使用 - 多くのフロント エンド サーバーにまたがるメモリ キャッシュ内の単純なキー値。

あなたの質問は、広範な質問に終わっているので、これらの用語や技術の多くをグーグルで検索することから始めてください.

これらの各リンクには、リソースとチュートリアルがあります。クラウド VM を入手し、それぞれを試して、ニーズに最も適したものを決定してください。万能のソリューションはありません。

于 2013-01-17T04:02:08.657 に答える